为了让 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 证书。