无法通过域名访问Nginx及Firefox中无法打开Checkmk求助
问题排查方案
一、解决 arborhub.io 无法访问 Nginx 的问题
1. 基础网络与DNS验证
- 本地服务器测试:执行
curl -v http://arborhub.io,查看是否能连接到Nginx的80端口及返回内容;再执行ss -tulpn | grep nginx,确认Nginx确实监听了80端口。 - DNS解析验证:在你使用的本地机器上执行
nslookup arborhub.io,确认解析结果为服务器的正确IP(公网/内网),若解析错误需检查域名DNS配置。 - 防火墙/安全组检查:执行
sudo ufw status,确认Ubuntu的ufw允许80端口通行;若为云服务器,同步检查云平台安全组是否开放80端口。
2. Nginx配置逻辑纠错
你的arborhub.conf存在几个明确问题,需先修复:
- 删除重复的空tcno.co server块:两个同名server块会导致Nginx路由逻辑混乱,直接移除第一个无内容的tcno.co配置块。
- 给arborhub.io的server块添加IPv6监听:补充
listen [::]:80;,避免IPv6环境下无法访问。 - 定义缺失的proxy_cache:当前
/location中使用了proxy_cache video_cache但未配置缓存区,可添加以下配置(或直接删除所有proxy_cache相关项,若无需缓存):proxy_cache_path /var/cache/nginx/video levels=1:2 keys_zone=video_cache:10m max_size=10g inactive=7d use_temp_path=off; - 验证配置语法:执行
sudo nginx -t,确认无语法错误后重启Nginx:sudo systemctl restart nginx
3. 后端服务连通性验证
arborhub.io的根路径代理到127.0.0.1:8000,在服务器上执行 curl -v http://127.0.0.1:8000,确认Django返回正常内容而非502/503错误;若Django正常,检查Nginx是否有权限访问该端口(Ubuntu默认无SELinux限制,可忽略此步)。
二、解决Firefox无法打开Checkmk GUI的问题
1. 确认Checkmk反向代理与服务状态
- 服务器本地测试:执行
curl -v http://192.168.1.253:5000,确认Checkmk服务本身能返回登录页面内容;再执行ss -tulpn | grep 5000,确认Checkmk确实监听5000端口。 - 检查Checkmk站点配置:执行
omd config arborhub,确认APACHE_TCP_PORT设置为5000;再执行omd config arborhub set APACHE_FORWARDER *,允许所有反向代理访问,之后重启站点:omd restart arborhub。
2. Firefox专属问题排查
- 清除缓存与Cookie:按
Ctrl+Shift+Delete,选择缓存和Cookie项清除后重新访问。 - 禁用扩展:临时关闭所有Firefox扩展,排除扩展拦截请求的可能。
- 使用隐私窗口访问:打开Firefox隐私窗口尝试访问,排除本地缓存或Cookie冲突问题。
- 查看开发者工具日志:按F12打开开发者工具,切换到「网络」标签,刷新页面后查看请求状态码与响应内容,定位具体错误。
3. 完善反向代理头信息
修改tcno.co的/arborhub location配置,补充Checkmk所需的反向代理头:
location /arborhub { proxy_pass http://192.168.1.253:5000; 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; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_cache_bypass $http_upgrade; proxy_read_timeout 120s; rewrite ^/arborhub(.*)$ $1 break; }
修改后重启Nginx生效。
最终验证
- 修复所有配置后,执行
sudo nginx -t确保无语法错误,再重启Nginx:sudo systemctl restart nginx。 - 重启Checkmk站点:
omd restart arborhub。 - 分别在服务器和本地测试两个域名的访问情况,若仍有问题,提供Nginx日志(
/var/log/nginx/access.log、error.log)和Checkmk日志(/opt/omd/sites/arborhub/var/log/)中的错误信息,进一步定位问题。
内容的提问来源于stack exchange,提问作者Cordev87
相关产品推荐
相关产品推荐

