為了讓 nginx 監聽域名而不監聽端口,需要在配置文件中進行配置:1. 配置虛擬主機,指定要監聽的域名;2. 刪除默認監聽端口;3. 配置 dns 解析;4. 重啟 nginx。這樣,nginx 將僅監聽域名,提高安全性并啟用 sni。
NGINX 監聽域名,不監聽端口
要讓 NGINX 監聽域名而不監聽端口,需要在配置文件中進行以下配置:
1. 配置虛擬主機
server { server_name www.example.com; }
2. 刪除默認偵聽端口(80 和 443)
listen 80; listen 443 ssl http2;
3. 配置 DNS 解析
為域名配置 DNS 記錄,將其解析到服務器的 IP 地址。
4. 重啟 NGINX
更改生效后,需要重啟 NGINX:
sudo systemctl restart nginx
工作原理
通過上述配置,NGINX 僅會監聽域名,而不會監聽端口。當客戶端通過域名訪問服務器時,NGINX 會根據虛擬主機配置處理請求,而不使用端口。這意味著外部無法直接通過端口訪問服務器。
優點
- 提高安全性:僅監聽域名可以防止攻擊者通過端口掃描找到服務器。
- 啟用 SNI:當與 https 一起使用時,此配置允許 Nginx 在單個 IP 地址上托管多個 SSL 證書。