僅允許使用完整網域而非 IP 時存取 nginx 伺服器

僅允許使用完整網域而非 IP 時存取 nginx 伺服器

我有一個 nginx 伺服器在服務http://example.com解析為 IP 1.2.3.4。目前,用戶可以透過以下方式進行連線:http://example.com或透過訪問http://1.2.3.4

我只想在使用完整域名時允許訪問,http://example.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/

相關內容