仅允许使用完整域名而不是 IP 访问 nginx 服务器

仅允许使用完整域名而不是 IP 访问 nginx 服务器

我有一个 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/

相关内容