Nginx 配置只允许通过 域名 访问,不允许通过 IP 访问。

IP 访问返回 403

http {
	server {
		listen 80;
		server_name www.example.com;
	}
	server {
		listen 80 default_server;
		server_name _;
		return 403;
	}
}

IP 访问跳转域名

http {
	server {
		listen 80;
		server_name www.example.com;
	}
	server {
		listen 80 default_server;
		server_name _;
		rewrite ^/(.*) http://www.example.com permanent;
	}
}

允许内网 IP 访问,外网 IP 访问返回 403

http {
	server {
		listen 80;
		server_name www.example.com;
	}
	server {
		listen 80 default_server;
		server_name 192.168.1.2;
	}
}

https 协议下将 listen 80 default_server 改为 listen 443 ssl default_server 即可。

更新于