服务器技术

 首页 > 服务器技术 > nginx > Nginx防止直接用IP访问Web服务器的设置方法_nginx

Nginx防止直接用IP访问Web服务器的设置方法_nginx

分享到:
【字体:
导读:
          看了很多Nginx的配置,好像都忽略了ip直接访问Web的问题,这样理论上不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面...

官方文档中提供的方法:

If you do not want to process requests with undefined "Host" header lines, you may define a default server that just drops the requests:
复制代码 代码如下:
server {
listen 80 default_server;
server_name _;
return 444;
}

说白了就是只要是访客用ip访问就直接重置444错误。但是这样好像又不太友好,如果能直接给跳转到该web server的网址就好了。配置如下:
复制代码 代码如下:
server {
listen 80 default_server;
server_name _;
rewrite ^ http://www.domain.com$request_uri?;
}

这样还是有一点问题,某些特别的地址,我需要用ip访问,其他的都禁止,如何配置呢?比如说我想让监控宝直接用ip访问我的机器的nginx状态信息,其他的用ip访问的所有请求都跳转到域名上。
复制代码 代码如下:
server {
listen 80 default_server;
server_name _;
location /xxxxx{
stub_status on;
access_log off;
}
location /{
rewrite ^ http://www.domain.com$request_uri?;
}
}

这样就实现了我们想要的功能了。

分享到:
分享一份nginx重启脚本_nginx_自学php网
最开始的时候,我是用最直接的重启方式 killall -9 nginx;/data/nginx/sbin/nginx 如果机器比较慢,kill进程时一瞬间杀不完,再执行一次即可。这种重启方式不是特别安全,如果配置有误,则会重启失败,需要重新修改配置文件然后再启 动,期间会消耗一点时间。不过对于目前普遍还是不怎么严格的http界而言,这点时间还不至于...
nginx 关闭默认站点的方法_nginx_自学php...
当别人把垃圾域名转向至你的服务器时, 如果不采取措施,那么后果不堪设想。 国内机房一般都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。 Nginx默认的虚拟主机允许用户经过IP访问,或者经过未设置的域名访问(比如有人把他本人的域名指向了你的ip)你的VPS或服务器。 默认情况下,只要将域名解析到VPS的IP...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……