我是切换从apache到nginx和我还没有准备好到删除apache文件如.htaccess
因此,我要拒绝访问它们。
我知道这是怎么回事:location ~ /\.ht { deny all; }
但是如何全局地执行呢?也就是说,一次为所有服务器块(vhost)执行。
我希望将它作为/etc/nginx/nginx.conf
主指令下的单个指令,如下所示:
http {
# STUFF
server {
listen 80;
server_name _;
# STUFF
location ~ /\.ht {
deny all;
}
}
}
我尝试了上面的配置并重新加载了nginx,但我仍然能够下载.htaccess文件
1条答案
按热度按时间oiopk7p51#
经过研究和实验。
是的...唯一明显的方法是在每个服务器块中包含一个conf文件。
包含的配置文件内容(可能位于/etc/nginx/default.d/default. conf...由您决定)
启用的站点配置文件(可能位于/etc/nginx/sites-enabled/domain.com.conf)
我并不希望这样做,但它是有效且合乎逻辑的
“default.conf”中的所有指令都应该像任何include一样编码(就好像它与内容内联一样)
换句话说...您不会在default.conf的内容中使用服务器{...},因为它已经包含在服务器块中