呼び出すユーザーではなく、私のアプリケーションからそれを/var/www/config/config.json
読む必要がありますmyapp.com/config/config.json
。どうすればいいですか?
答え1
2つの主な方法があります。 1 つは、Web サーバー以外のユーザーとしてアプリケーションを実行し、アプリケーションを実行しているユーザーのみが読み取れるようにファイルの権限を変更し、Web サーバーを使用してアプリケーションにプロキシすることです。nginx
次のようにプロキシとして使用できます。
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:1234;
proxy_set_header X-Real-IP $remote_addr;
}
}
それでも役に立たない場合は、Webサーバーから直接ブロックするように次の規則を設定できます。
location ~ /config\.json$ {
deny all;
}
これは次のApacheを介して行うこともできます.htaccess
。
<Files ~ "config\.json$">
Order allow,deny
Deny from all
</Files>
答え2
SELinuxを使用している場合は、コンテキストを設定して、そのサブhttpd
プロセスがファイルにアクセスできないように設定できます。私が誤って私にこのようなことをしました。いつも。