1

デスクトップでRstudioを実行していますが、http://my.desktop:8787のWebからアクセスできます。

Rstudioのドキュメントから、リバースプロキシの設定は慎重なセキュリティ対策であるように見えます(間違っている場合は修正してください)。

Ubuntu11.04を使用しています

そのページの指示に従うことで、ngnixをインストールし、コードスニペットを/etc/nginx/nginx.conf次の場所に追加しました。

http {
  server {
    listen 80;

    location / {
      proxy_pass http://localhost:8787;
      proxy_redirect http://localhost:8787/ $scheme://$host/;
    }
  }
}

sudo nginx restart -v次のエラーを返します。

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

さらに、次のスニペットを含めると(リンクが:8787ではなく/ rstudioになります):

location /rstudio/ {
  rewrite ^/rstudio/(.*)$ /$1 break;
  proxy_pass http://localhost:8787;
  proxy_redirect http://localhost:8787/ $scheme://$host/rstudio/;
}

sudo nginx restart -v次のエラーを返します。

Restarting nginx: nginx: [emerg] unknown directive "location" in 
/etc/nginx/nginx.conf:93

2つの質問があります:

  1. 強力なパスワードを使用する場合、リバースプロキシサーバーはどのくらい必要ですか?
  2. どうすればこれらのエラーを乗り越えることができますか?
4

1 に答える 1

1

ポート 80 は既に使用されているようです。タイトル/質問で交換された「Apache」と「Nginx」に基づいて、2つのWebサーバーが実行されている可能性があると推測しています。

Nginx を選択してそれを使用することを想定しています。その場合は、Apache をシャットダウンします。(sudo /etc/init.d/httpd stopまたはsudo /etc/init.d/apache2 stop-- /etc/init.d/ を調べて、Apache が Ubuntu で実行されているサービスを確認する必要があります)。

次に、nginx を再起動して、エラー #1 が修正されるかどうかを確認します。

最初の質問に関しては、セキュリティのためにリバース プロキシを使用することは確かに良い考えであり、実際にはパスワードの強度とは何の関係もありません。RStudio は Web サーバーとして設計されていないため、発見されていないさまざまな脆弱性が存在することは間違いありません。その理由の 1 つは、新しいプロジェクトであることと、堅牢な Web サーバーとして設計されていないことです。 . 一方、Apache または nginx は、システムのセキュリティを危険にさらすことなく、パブリック ネットワーク (インターネットなど) に公開できるように特別に設計および強化されています。したがって、(ユーザー名とパスワードに関して) 同じように使用できますが、外部ネットワークからの高度な攻撃に対する脆弱性は低くなります。

また、リバース プロキシを配置する主な目的は、マシン上で公開されているサービスが Apache/Nginx だけになるようにすることです。そのため、ポート 8787 をブロックするようにファイアウォールを設定してください。そうしないと、リバース プロキシを構成しても意味がありません。

于 2012-03-21T19:27:37.327 に答える