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

Gov*_*hwa 5 nginx ip-address

我有一个 nginx 服务器,服务http://example.com,它解析为 IP 1.2.3.4。目前,用户可以通过访问http://example.com或访问http://1.2.3.4进行连接。

我只想在使用完整域名http://exmple.com时允许访问。如何配置 nginx 来阻止通过 IP 进行访问,并且只允许使用完整域名进行访问?

小智 4

您可以在 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";
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

Nginx 虚拟主机 - https://tecadmin.net/setup-nginx-virtual-hosts-on-ubuntu/