LANMP架构下.htaccess文件对外暴露的解决方案。
By
lincanbin
at 2014-12-09 • 0人收藏 • 2746人看过
LANMP架构是利用Nginx处理静态文件,同时PHP等动态脚本反向代理Apache,这也就带来了一个问题,Apache处理的文件被Nginx作为静态文件处理了,可以被外部访问。
百度云观测在我迁移网站到DigitalOcean之后,就给我报警了,因为我迁移网站之后,将原有的LAMP架构更换成了LANMP架构。
解决方案如下:
在nginx/conf/vhost/目录下找到对应主机的配置文件,例如94cb.com.conf,用vi打开编辑,可以看到:
server { listen 80; server_name 94cb.com www.94cb.com m.94cb.com api.94cb.com; root /www/web/carbon/public_html; index index.html index.php index.htm; location ~ \.php$ { proxy_pass http://127.0.0.1:88; include naproxy.conf; } location / { try_files $uri @apache; } location @apache { proxy_pass http://127.0.0.1:88; include naproxy.conf; } }
在第二项location之后插入
location ~ /\.ht { deny all; }
94cb.com.conf就变成了
server { listen 80; server_name 94cb.com www.94cb.com m.94cb.com api.94cb.com; root /www/web/carbon/public_html; index index.html index.php index.htm; location ~ \.php$ { proxy_pass http://127.0.0.1:88; include naproxy.conf; } location ~ /\.ht { deny all; } location / { try_files $uri @apache; } location @apache { proxy_pass http://127.0.0.1:88; include naproxy.conf; } }
保存并重启nginx
service nginxd restart
访问http://www.94cb.com/.htaccess ,发现已经无法访问了(请注意先清理浏览器缓存)
登录后方可回帖