如何设置服务器只能域名访问

如何设置服务器只能域名访问,第1张

我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx禁止IP访问了。下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效最关键的一点是,在server的设置里面添加这一行:listen80default后面的default参数表示这个是默认虚拟主机。Nginx禁止IP访问这个设置非常有用。比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。就可以这样设置:简单直接的修改方法:修改nginx.conf文件修改成server{listen80server_name#这里是你自己指定的域名}再在上个server后继续添加一段:就是为了访问默认网站直接返回403server{listen80default_serverserver_name_return403}这里是在接收到ip访问或非指定域名访问时会返回403错误下面的一些比较详细的介绍:server{listen80defaultreturn500}也可以把这些流量收集起来,导入到自己的网站,只要做以下跳转设置就可以:server{listen80defaultrewrite^(.*)return500}这样,通过域名就能访问服务器了。

这个主要就是三步:

1.

是域名做解析,指向网站所在的服务器。

2.

是服务器上的网站,做网站绑定,对应的域名。

3.

这样就实现,通过域名指向网站,服务器确认访问某个网站。

apache设置禁止使用IP访问网站的实现方法

在用apache搭建的WEB服务器的时候,如何想只能通过设定的域名访问,而不能直接通过服务器的IP地址访问呢,有以下两种方法可以实现(当然肯定还会有其他方法可以实现),都是修改httpd.conf文件来实现的,下面举例说明。

方法一:在httpd.conf文件最后面,加入以下代码 

NameVirtualHost 127.*.*.* 

<VirtualHost 127.*.*.*> 

ServerName 127.*.*.* 

<Location /> 

Order Allow,Deny 

Deny from all 

</Location> 

</VirtualHost> 

<VirtualHost 127.*.*.*> 

DocumentRoot "/www/web" 

ServerName www.phpzixue.cn 

</VirtualHost> 

说明:加粗部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。剩余部分就是允许通过www.phpzixue.cn这个域名访问,主目录指向/www/web(这里假设你的网站的根目录是/www/web)

方法二:在httpd.conf文件最后面,加入以下代码 

NameVirtualHost 127.*.*.* 

<VirtualHost 127.*.*.*> 

DocumentRoot "/www/test" 

ServerName 127.*.*.* 

</VirtualHost>  

<VirtualHost 127.*.*.*> 

DocumentRoot 7/www/web" 

ServerName www.phpzixue.cn 

</VirtualHost> 

说明:加粗部分是把通过127.*.*.*这个IP直接访问的请求指向/www/test目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。剩余部分的意思跟方法一是一样的。 

注:修改后需要重启apache


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/582171.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-06
下一篇2023-07-06

发表评论

登录后才能评论

评论列表(0条)

    保存