LANMP架构下.htaccess文件对外暴露的解决方案。

By lincanbin at 2014-12-09 • 0人收藏 • 767人看过

LANMP架构是利用Nginx处理静态文件,同时PHP等动态脚本反向代理Apache,这也就带来了一个问题,Apache处理的文件被Nginx作为静态文件处理了,可以被外部访问。

blob.png

百度云观测在我迁移网站到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 ,发现已经无法访问了(请注意先清理浏览器缓存)

blob.png

登录后方可回帖

登 录
信息栏
购买PHP虚拟主机 / VPS

Carbon Forum是一个基于话题的高性能轻型PHP论坛

下载地址:Carbon Forum v5.0.1
QQ群:12607708(QQ我不常上)

donate

手机支付宝扫描上方二维码可向本项目捐款

Loading...