nginx只允许域名访问,禁止ip访问
背景:为什么要禁止ip访问页面呢?这样做是为了避免其他人把未备案的域名解析到自己的服务器IP,而导致服务器被断网,我们可以通过禁止使用ip访问的方法,防止此类事情的发生。解决方法:这里介绍修改配置文件nginx.conf两种方法:1)在server段里插入如下正则:listen 80;server_name www.yuyangblog.net;if ($host != 'www.yuyangblog.net'){ return 403;}2)添加一个server新加的server(注意是新增,并不是在原有的server基础上修改)server { listen 80 default; server_name _; return 403;}原来server里面插入:listen 80;
server_name www.yuyangblog.net;
效果:
设置成功后,就只能用域名访问网站,不能用ip访问了。
实例配置:
[root@weifeng conf.d]# cat weifeng.conf
server {listen 80 default;server_name _;return 403;}
server {
server_name 80 default;
server_name _;
rewrite ^(.*) http://www.demo.com;
}
server {
server_name localhost www.demo.com;
root /usr/share/nginx/www;
index index.html index.htm;
location / {
index index.php;
try_files $uri $uri/ /index.html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}