子域名Nginx反向代理失效问题求助
解决git.example.com访问出现NS_ERROR_UNKNOWN_HOST的问题
核心问题定位:
NS_ERROR_UNKNOWN_HOST是浏览器无法解析git.example.com对应的服务器IP导致的,你的DNS记录中没有为该子域名配置解析规则。解决步骤:
添加git.example.com的DNS解析记录
登录你的域名服务商后台,添加以下任意一种记录:- A记录:主机记录填
git,记录值填服务器的公网IP - CNAME记录:主机记录填
git,记录值指向example.com(前提是主域名A记录已正确指向服务器)
配置完成后,可通过nslookup git.example.com或dig git.example.com命令验证解析是否生效(DNS生效可能需要10分钟~2小时)。
- A记录:主机记录填
校验Nginx配置正确性
检查/etc/nginx/sites-enabled/git.example.com配置文件,确保server_name字段准确,且代理规则指向GitLab容器的映射端口:server { listen 80; server_name git.example.com; location / { proxy_pass http://127.0.0.1:80; # 需与GitLab容器暴露的端口一致 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }执行
nginx -t检查配置语法,无错误后重载Nginx:systemctl reload nginx配置SSL证书(可选)
DNS解析生效后,用certbot为该子域名生成SSL证书:certbot --nginx -d git.example.com工具会自动更新Nginx配置,实现HTTP到HTTPS的重定向。
内容的提问来源于stack exchange,提问作者theohoppe
相关产品推荐
相关产品推荐

