IP地址配置HTTPS 内网IP配置HTTPS保姆教程
本文介绍了在Nginx中配置HTTPS的完整流程:1)使用OpenSSL生成自签名证书和私钥;2)解密私钥以避免重启时输入密码;3)配置Nginx支持HTTPS,包括指定证书路径、设置安全协议和加密套件等。适用于开发、测试和内网环境,但需注意自签名证书会触发浏览器警告,生产环境建议使用CA签发的正式证书。通过简单的命令和配置即可实现基本的HTTPS加密保护。

在 Ubuntu 系统中,/etc/resolv.conf 文件常常在重启后被系统服务自动重写,导致用户手动配置的 DNS 设置失效。这主要是由于系统使用了诸如 systemd-resolved 或 NetworkManager 的网络服务来动态管理 DNS 信息。
本文将介绍该问题的根源,并提供三种解决方案,帮助你根据实际需求实现 DNS 配置的持久化。
/etc/resolv.conf 文件用于指定系统使用的 DNS 服务器。systemd-resolved 的系统中,/etc/resolv.conf 实际是一个符号链接,指向 /run/systemd/resolve/stub-resolv.conf,该文件在系统启动或网络变化时会被自动生成。/etc/resolv.conf 是无效的,因为其内容在每次重启或网络状态改变后都会被覆盖。systemd-resolved,使用静态 DNS 配置如果你想完全自己管理 DNS,而不依赖 systemd-resolved,可以按照以下步骤操作:
停止并禁用 systemd-resolved:
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
删除自动生成的符号链接:
sudo rm /etc/resolv.conf
创建新的静态 resolv.conf 文件:
sudo nano /etc/resolv.conf
添加如下内容:
nameserver 8.8.8.8
nameserver 8.8.4.4
锁定该文件防止被其他程序修改:
sudo chattr +i /etc/resolv.conf
这样可以确保系统重启后不会覆盖你的 DNS 配置。
systemd-resolved,但使用自定义 DNS如果你希望继续使用 systemd-resolved 提供的 DNS 缓存与解析功能,但又想指定自己的 DNS 服务器:
创建配置目录与文件:
sudo mkdir -p /etc/systemd/resolved.conf.d
sudo nano /etc/systemd/resolved.conf.d/dns.conf
添加以下内容:
[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1 1.0.0.1
重启服务使配置生效:
sudo systemctl restart systemd-resolved
检查 DNS 配置是否生效:
resolvectl status
/etc/resolv.conf 指向自定义静态文件这种方式适用于希望手动管理 DNS 配置但又不想完全禁用 systemd-resolved 的用户。
创建自定义 DNS 配置文件:
sudo nano /etc/resolv-custom.conf
内容如下:
nameserver 8.8.8.8
nameserver 8.8.4.4
用符号链接替换默认 /etc/resolv.conf:
sudo ln -sf /etc/resolv-custom.conf /etc/resolv.conf
| 方法 | 是否禁用 systemd-resolved |
是否手动维护 DNS | 适用场景 |
|---|---|---|---|
| 方法一 | ✅ 是 | ✅ 是 | 适合服务器或不希望系统干预 DNS 的用户 |
| 方法二 | ❌ 否 | ✅ 否 | 适合希望保留 DNS 缓存功能并自定义 DNS 的用户 |
| 方法三 | ❌ 否 | ✅ 是 | 适合想使用自定义配置,但不禁用 systemd-resolved 的用户 |
检查 DNS 设置:
resolvectl status
移除不可变属性(如需恢复写权限):
sudo chattr -i /etc/resolv.conf
根据你的需求选择合适的方案,就可以确保 DNS 配置在重启后仍能保持不变。







