nginx设置内网域名
来自豆包
内网域名 + HTTPS(避免浏览器不安全提示)
结合你之前生成 SSL 证书的需求,内网域名也能配置 HTTPS,核心是「自签名证书绑定内网域名」,步骤如下:
步骤 1:生成自签名证书(绑定内网域名)
用 OpenSSL 重新生成证书,Common Name(CN)填内网域名(如
gzjr.local):cmd
# 1. 生成私钥(带密码或无密码均可)
openssl genrsa -out gzjr-internal.key 2048
# 2. 生成CSR(CN填内网域名)
openssl req -new -key gzjr-internal.key -out gzjr-internal.csr
# 填写DN信息时,重点:Common Name填内网域名(如 gzjr.local)
# 3. 生成自签名证书(有效期365天,可改)
openssl x509 -req -days 365 -in gzjr-internal.csr -signkey gzjr-internal.key -out gzjr-internal.crt
步骤 2:在服务器配置证书
将
gzjr-internal.key(私钥)和 gzjr-internal.crt(证书)部署到你的内网服务(如 Nginx、Tomcat、Apache):- Nginx 示例(修改配置文件):
nginx
server { listen 443 ssl; server_name gzjr.local; # 内网域名 ssl_certificate /path/to/gzjr-internal.crt; # 证书路径 ssl_certificate_key /path/to/gzjr-internal.key; # 私钥路径 # 其他配置(如反向代理、静态文件路径) }
步骤 3:在客户端信任证书(避免浏览器报错)
自签名证书默认不被浏览器信任,需在每台内网设备手动信任:
- Windows:
- 双击
gzjr-internal.crt→ 「安装证书」→ 选择「当前用户」或「本地计算机」→ 「将所有证书放入以下存储」→ 浏览→ 选择「受信任的根证书颁发机构」→ 完成。
- 双击
- Mac:
- 双击
gzjr-internal.crt→ 打开「钥匙串访问」→ 选择「系统」→ 右键证书→ 「显示简介」→ 「信任」→ 选择「始终信任」。
- 双击
- 手机(iOS/Android):
- 将证书文件传到手机,双击安装(iOS 需在「设置→通用→VPN 与设备管理」中信任,Android 需在「设置→安全→证书→安装」)。
信任后,访问
https://gzjr.local 会显示小绿锁,无安全提示。四、常见问题排查
-
解析不生效(ping 域名提示找不到主机):
- 检查
hosts文件是否保存正确(无多余空格、IP 和域名对应); - 多设备场景下,确认设备 DNS 是否指向内网 DNS 服务器(而非公网 DNS,如 8.8.8.8);
- 清除 DNS 缓存:Windows 输入
ipconfig /flushdns,Mac/Linux 输入sudo dscacheutil -flushcache。
- 检查
-
HTTPS 提示 “证书不安全”:
- 确认证书的 CN 或 SAN 字段是否和访问的内网域名一致;
- 检查客户端是否已信任证书(尤其是手机设备,容易遗漏);
- 若用通配符域名(如
*.gzjr.local),生成证书时 CN 填*.gzjr.local。
-
内网设备互通失败:
- 确保所有设备在同一内网(同一网段,如
192.168.1.x); - 关闭设备防火墙(或开放服务端口,如 443、8443);
- 服务器端确认服务已监听内网 IP(而非仅 127.0.0.1)。
- 确保所有设备在同一内网(同一网段,如
总结
内网域名设置的核心是「本地解析 + 自签名证书」:
- 少量设备:用
hosts文件绑定域名 - IP,简单高效; - 多设备 / 多域名:搭建内网 DNS 服务器(路由器 / Dnsmasq/Pi-hole),统一管理;
- 需 HTTPS:生成绑定内网域名的自签名证书,客户端信任后即可正常访问。
按这个流程操作,就能在内网用
https://gzjr.local 替代 https://192.168.1.100:8443,既易记又安全~
每天多努力一点,你将会变得更好。

浙公网安备 33010602011771号