在生产环境中,为了网站的安全访问,需要Nginx禁止一些非法访问,如恶意域名解析,直接使用IP访问网站。下面记录一些常用的配置示例:
1、禁止IP访问
如果没有匹配上server name就会找default默认,返回501错误。
server {
listen 80 default;
return 501;
}
2、通过301跳转到主页
server {
listen 80 default;
server_name _;
rewrite ^(.*) http://YourDomainName.example/$1 permanent;
}
3、凡是请求a.com 的都跳转到后面域名b.com上(这个方法需要放到server配置里)
if ($host ~ '^a.com'){
return 301 https://b.com$request_uri;
}
或者不是访问b.com网站的全部重定向到b.com
if ($host != 'b.com') {
rewrite ^/(.*)$ http://b.com/$1 permanent;
}