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

转载 2016年08月29日 13:43:57

PS:转自 http://down.chinaz.com/server/201112/1469_1.htm

看了很多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?;
}

ps:网址必须要写全  

这样还是有一点问题,某些特别的地址,我需要用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?;
}
}

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


  禁止IP访问是在全区配置文件nginx.conf设置,另外在vhost目录中添加虚拟主机www.domain.com.conf,这样就可以通过域名访问,而ip访问的时候也会直接跳转到域名了,配置如下:

全局配置:

server {
listen 80 default_server;
server_name _;
#return 444;
rewrite ^ http://www.domain.com$request_uri?;
}
虚拟主机配置

server {
server_name www.domain.com;
index index.html index.htm index.php;
root  /wwwroot/domain;
}

在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解

看了很多nginx的配置,好像都忽略了ip直接访问web的问题,不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面。 官方文档中提供的方法:  I...
  • andyzhaojianhui
  • andyzhaojianhui
  • 2016年03月09日 19:14
  • 2538

禁止通过ip直接访问网站来防止恶意解析-(apache,nginx,iis)

一、IIS 禁止IP直接访问 首先就是打开IIS管理器之后,在IIS管理器左侧找到网站下面的相应网站,右键选择打开该网站属性,进入相关IIS网站属性设置。  (IIS打开网站属性方...
  • ys166com
  • ys166com
  • 2017年04月26日 11:47
  • 803

设置nginx禁止通过IP访问服务器的方法

在Nginx上设置禁止通过IP访问服务器,只允许通过域名访问,以避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网。 nginx的默认虚拟主机允许用户通过IP访问,或者通过未设置的域...
  • toplover2
  • toplover2
  • 2013年01月15日 05:35
  • 1512

nginx上设置禁止通过ip访问服务器,只能通过域名访问

为了避免别人把未备案的域名解析到自己的服务器ip而导致服务器被断网,需要在nginx上设置禁止通过ip访问服务器,只能通过域名访问。 最关键的一点是,在server的设置里面添加这么一行: Liste...
  • qq_22929803
  • qq_22929803
  • 2016年01月27日 01:41
  • 2020

Tomcat 部署 Web 通过 ip 直接访问项目

正常情况下,在访问在Tomcat中部署的项目是 http://localhost:8080/demo 方式 其中,IP,端口,项目名(Demo)都是必须的。 那么,怎么样才能通过 http...
  • u011203602
  • u011203602
  • 2016年06月27日 19:10
  • 2965

Nginx基于IP,端口,域名配置虚拟主机

Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实...
  • robinson_0612
  • robinson_0612
  • 2016年05月13日 17:01
  • 14225

nginx基于端口和ip配置

1、基于端口 [root@nginx conf]# cat nginx.conf   error_log  logs/error.log error; worker_processes  2; ...
  • yujin2010good
  • yujin2010good
  • 2016年11月20日 20:23
  • 5666

怎样在apache与nginx服务器中配置数据库

apache下面直接配置数据库配置信息: 1)首先在apache下面的httpd.conf中的 # Secure (SSL/TLS) connections Include conf/extra...
  • jizhundaa
  • jizhundaa
  • 2015年10月17日 11:37
  • 1913

maven部署web项目到远程服务器的Tomcat,以及输入IP地址直接访问到这个web项目

linux下上安装Tomcat,这里以Tomcat7为例a. 解压Tomcat7(记得先把jdk配置好) [root@VM_30_175_centos /]# cd /usr/local/ [root...
  • does160723
  • does160723
  • 2016年11月20日 02:49
  • 1346

如何将 Nginx 配置为Web服务器

阅读之前,建议先阅读初识 Nginx。 之后,我们来了解一下 Nginx 配置。 抽象来说,将 Nginx 配置为 Web 服务器就是定义处理哪些 URLS 和如何处理这些URLS 对应的请求。...
  • hj7jay
  • hj7jay
  • 2016年12月28日 10:01
  • 4323
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:配置Nginx防止直接用IP访问Web服务器
举报原因:
原因补充:

(最多只允许输入30个字)