我需要/var/www/config/config.json
由我的应用程序读取,而不是由调用的用户读取myapp.com/config/config.json
。我该怎么做呢?
答案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;
}
}
如果这对您没有好处,您可以设置如下规则,让您的网络服务器直接阻止它们:
location ~ /config\.json$ {
deny all;
}
这也可以通过 Apache 来完成,在您的.htaccess
:
<Files ~ "config\.json$">
Order allow,deny
Deny from all
</Files>
答案2
如果您使用 SELinux,您可以将上下文设置为停止httpd
及其子进程访问该文件。我不小心对自己做了这样的事每时每刻。