post

设置Nginx空主机头禁止ip访问网站

通过ip直接访问网站,给一些用户可趁之机,如某人解析域名到你的ip,会给网站带来不良效果,大大降低了网站的安全性,解决办法也很简单,在nginx的配置文件中配置一下就可以解决,由于我用的是lnmp,会造成ftp和phpmyadmin的无法访问,将这两个目录绑定二级域名即可,最好事先设置域名的解析。

环境:Linux CentOS,lnmp0.9,php 5.2.17,nginx 1.0.15,PureFTPd,phpMyAdmin

设置Nginx空主机头具体步骤:

1、如果用的是lnmp的默认虚拟主机做站点的话,在/usr/local/nginx/conf/nginx.conf 中的server那一段的前面追加如下代码:

server{
listen 80 default; #参数表示这个是默认虚拟主机
rewrite ^(.*) //www.izhangheng.com/ permanent; #跳转到域名
#return 500; #或者返回 500 服务器错误,也可以返回其他 如404;
}

2、如果用的不是默认虚拟主机的话,需要将server段代码中

server{
listen 80;
server_name localhost;
index index.html index.htm index.php;
root /home/wwwroot;

替换为

server{
listen 80 default;
server_name _;
rewrite ^(.*) //www.izhangheng.com/ permanent;
#return 500;

3、执行 /etc/init.d/nginx restart 或者 /usr/local/nginx/sbin/nginx -s reload 重新启动nginx即可;

4、更改配置文件后重启服务时出现了这样的错误:”server” directive is not allowed here 原因是配置文件中少了一个};

5、到此问题就解决了,地址栏输入ip后,网站就自动转向到首页了。

· 1,681 次浏览