ふと気になったので質問させていただきます。
nginx
等のwebサーバーを使用して外部に何かを公開する際に、公開領域を指定すると思います。
例えば
rails
でhoge_app
ディレクトリにアプリケーションを作成した。
nginx
の公開領域をhoge_app
ディレクトリに設定する。
のように。
この時hoge_app
ディレクトリのパーミッションは775
となっているので、その他のユーザー即ちユーザーnginx
さんもこのhoge_app
を見る事ができる事になっています。
だから外部からリクエストがあったときにnginx
が中身をいい感じに配信できると思っています。
でもよくよく考えたらrails
アプリの中身のruby
のコードは見る事ができません。(contlollerの内容等)
controllerのパーミッションも775
です。
質問1:なぜ公開されているにも関わらず外から見る事ができないのでしょうか?
APPサーバーはunicornを使っているのですが、nginxがファイルの内容を配信する前に必ずAPPサーバーを通るから、そのAPPサーバーがこれは外部に出してはダメなファイルだ!と判定しているのでしょうか?
質問2:この見識は正しいのでしょうか?
質問2-0:もし正しいとしたら、どんな観点で外部へ公開しては“ダメ”の判定を行っているのでしょうか?
外部へ公開している仕組みを知らないとハッキング出来てしまう環境を作ってしまいそうで怖くなり質問させていただきました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/09 02:55
2018/02/09 03:00
2018/02/09 03:07
2018/02/09 03:12
2018/02/09 04:24