Nginx设置禁止通过IP访问服务器并且只能通过指定域名访问

为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,需要在nginx上设置禁止通过IP访问服务器,只能通过域名访问。

最关键的一点是,在server的设置里面添加这么一行:

listen 80 default;

后面的default参数表示这个是默认的虚拟主机。

例如:别人如果通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500,或者是404。具体如下:

server {
       listen 80 default;
       server_name _;
       return 500;

}

也可以把这些流量收集起来,导入到自己的网站,只要做以下跳转设置就可以:
server {
    listen 80 default;
    rewrite ^(.*) http://www.domain.com permanent;
}

当然,按照上述设置,的确不能让别人通过ip访问服务器了,但是还应该开放一个或多个真实的希望被访问的域名配置,设置如下:

server {
       linten 80;
       server_name www.domain.com;
}

原文地址:https://www.cnblogs.com/mouseleo/p/11676522.html

时间: 2024-11-07 17:09:27

Nginx设置禁止通过IP访问服务器并且只能通过指定域名访问的相关文章

Windows server 2003使用安全策略禁止某ip访问服务器的方法

华普在线 提供海外服务器  http://www.hpidc.net 华普在线! 开始-管理工具-本地安全策略 创建IP安全策略 下一步 我们就是要禁止他,不和他说话,那么,取消勾选"激活默认响应规则". 注意右下角的"添加向导",如果勾选了,取消他,然后点击"添加". 注意别把源地址和目标地址写反了,源地址是要限制的IP,目标地址是本机地址. 我这里设置的是限制124.172.237.44不能够访问124.172.237.42上的网站. 设置好

在DataWorks中实现指定UDF只能被指定账户访问

在DataWorks中实现指定资源被指定账户访问背景之前写过一篇文章是关于"DataWorks和MaxCompute内部权限体系的区别"有兴趣的朋友可以点击阅读查看详情.但是还是有些同学会问,我如何在DataWorks中实现我的具体某个Resource,Table还是UDF只能被我指定的用户所使用的权限管控.这个UDF可能涉及到数据的加解密算法,属于数据安全管控范围了. 常见方案package方案,通过打包授权进行权限精细化管控.DataWorks上新建角色(管理>MaxComp

Tomcat6 只允许指定域名访问,禁用IP地址访问,防止恶意解析

2015.02.27 突然同事反应,在百度上搜索其他域名,竟然打开了和我们P2P一模一样的网站,我第一个反应是源代码被盗用了.后来发现,是域名被恶意解析了,解决方法 1.禁止IP地址访问项目  2.只允许指定的域名访问. 环境:tomcat 6 方法: 修改tomcat 6 的配置文件  tomcat/conf/server.xml,实现原理,将tomcat 缺省参数defaultHost指向一个不存在的域名上,并添加同样的虚拟目录,这样当被一个未知的域名解析过来后,访问的缺省虚拟目录,但这个目

关于在阿里云ESC服务器解析域名并绑定服务器IP后上传文件通过域名访问步骤教程

第一步:登录阿里云官网,获取服务器ECS的指定公网IP地址. 1.输入阿里云官网账号进入首页,如下图: 2.点击进入"管理控制台",如下图: 3.点击"云服务器ECS",进入你购买的服务器概览界面,如下图: 4.点击左侧"实例"选项,进入你名下服务器信息界面,如下图:注意你购买服务器所在地. 获取服务器公网地址. 第二步:登录你所购买域名的供应商进行解析域名绑定服务器IP地址:如(万网)(现万网与阿里云整合在一起,所以你再阿里云也可以解析域名到你

Nginx禁止通过IP,未绑定域名访问服务器

可以在Nginx上设置禁止通过IP访问服务器,只能通过绑定域名访问(同时设置未绑定域名返回500错误或者跳转到我的域名首页) 方法比较简单, 打开nginx.conf step1 绑定网站域名 在server段server_name行 添加域名 server { listen 80; server_name m114.org www.m114.org; index index.html index.htm index.php; root /data/htdocs/www; } step2 设置禁

Nginx 禁止IP访问 只允许域名访问

今天要在Nginx上设置禁止通过IP访问服务器,只能通过域名访问,这样做是为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,从网络上搜到以下解决方案 我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了.下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时 候生效最关键的一点是,在server的设置里面添加这一行:listen 80 default; 后面的default

防止恶意解析 - 禁止通过ip直接访问到网站

什么是恶意解析? 一般情况下,要使域名能访问到网站需要两步,第一步,将域名解析到网站所在的主机,第二步,在web服务器中将域名与相应的网站绑定.但是,如果通过主机IP能直接访问某网站,那么把域名解析到这个IP也将能访问到该网站,而无需在主机上绑定,也就是说任何人将任何域名解析到这个IP就能访问到这个网站.可能您并不介意通过别人的域名访问到您的网站,但是如果这个域名是未备案域名呢?一旦被查出,封IP.拔线甚至罚款的后果都是需要您来承担的.某些别有用心的人,通过将未备案域名解析到别人的主机上,使其遭

限制nginx仅能域名访问,不可用ip访问

在nginx.conf 文件里 初始时是: server {     listen 80 default_server;     server_name www.lnmp.org;     ... } 修改成 server {     listen 80;     server_name yoursDomainName;    #这里是你自己指定的域名     ... } 再在上个server后继续添加一段: server {     listen 80 default_server;     

设置nginx禁止IP直接访问,只能通过指定的域名访问

设置配置文件disableip.conf: server {     listen 80;     server_name _;     return500; } 这是最终使用的配置文件,也是网上找到的常见的配置之一,最初该conf文件在sites-available文件夹下,尝试使用各种参数均无法正常工作,最终尝试将disableip.conf文件放入conf.d文件夹下,这是因为在nginx.conf文件中: include /etc/nginx/conf.d/*.conf; include