我有一个 nginx 服务器http://example.com解析为 IP 1.2.3.4
。目前,用户可以通过以下方式进行连接:http://example.com或访问http://1.2.3.4。
我只想允许使用完整域名进行访问,http://exmple.com。如何配置我的 nginx 来阻止通过 IP 的访问并且仅在使用完整域名时允许访问?
答案1
您可以在 Nginx 中创建两个虚拟主机。一个用于默认访问,另一个用于特定域。
然后,您可以根据您的选择限制默认访问或重定向到您的域。
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name "";
return 444; # or comment this and uncomment below to redirect to domain.
#return 301 http://www.example.com$request_uri;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name "www.example.com";
...
...
}
Nginx 虚拟主机 -https://tecadmin.net/setup-nginx-virtual-hosts-on-ubuntu/