配置Nginx防止直接用IP访问Web服务器

话说Nginx默认配置是允许以ip直接访问web服务器的,很多时候搜索引擎也会收录ip网址,不知是否对SEO优化不利,但还是阻止一下吧!

# vi /usr/local/nginx/conf/nginx.conf
server {
  listen 80 default_server;
  server_name _;
  return 444;
}

注:当以ip访问web服务器的时候,返回444错误,问题解决了,但对用户体验来说很不友好,修改配置如下:

server {
  listen 80 default_server;
  server_name _;
  rewrite ^ http://yangjunwei.com$request_uri?;
}

同样,有阻止也会有需求,比如一些API接口网址,会直接以IP的形式访问,如果只对这些接口网址开放IP访问呢?网友分享了下面的方法,诺豆网并未测试!

server {
  listen 80 default_server;
  server_name _;
  location /xxxxx{
    stub_status on;
    access_log off;
  }
  location /{
    rewrite ^ http://yangjunwei.com$request_uri?;
  }
}