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