nginx 禁止未绑定的域名访问
方法1:
server { listen 80 default_server; #不指定 server_name, server_name 默认为"" return 444; } server { listen 80; server_name www.mydomain.com; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { proxy_set_header Host $host:$proxy_port;#proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://myserver; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
浏览访问未绑定的域名,访问会这样显示(谷歌浏览器):
方法2:
server { listen 80 default_server; server_name _; root /usr/share/nginx/html; location / { deny all; } error_page 403 /403.html; location = /403.html { } } server { listen 80; server_name www.mydomain.com; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { proxy_set_header Host $host:$proxy_port;#proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://myserver; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
浏览访问未绑定的域名,会显示 403.html 的内容: