You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Nginx反向代理实现Jenkins端口80映射至8080遇问题求助

解决Nginx反向代理Jenkins仍只能通过8080访问的问题

核心问题排查与解决步骤:

  1. 确保Nginx自定义配置已启用
    Nginx默认只会加载sites-enabled目录下的配置文件,你在sites-available里添加的配置需要创建软链到sites-enabled才能生效,同时要禁用默认的欢迎页配置:
  • 创建软链:sudo ln -s /etc/nginx/sites-available/你的配置文件名 /etc/nginx/sites-enabled/
  • 删除默认配置软链:sudo rm /etc/nginx/sites-enabled/default
  1. 修正反向代理配置(针对IP访问场景)
    因为你还未绑定子域名,直接用EC2公网IP访问的话,配置里必须明确指定server_name为你的EC2 IP,否则Nginx会 fallback 到默认欢迎页配置。参考正确配置:
server {
    listen 80;
    server_name 你的EC2公网IP; # 替换为实际IP

    location / {
        proxy_pass http://localhost:8080;
        # 传递必要的请求头,避免Jenkins出现跳转或资源加载问题
        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;
    }
}
  1. 验证并重载Nginx配置
  • 先检查配置语法是否正确:sudo nginx -t,出现test is successful才算正常
  • 重载生效配置:sudo systemctl reload nginx
  1. 关于URL指定的说明
  • 当前未绑定子域名的情况下,不需要指定jenkins.acue.io,只需要确保Nginx配置里的server_name指向你的EC2 IP即可通过IP:80访问Jenkins
  • 后续绑定子域名后,需要做两件事:
    1. 将Nginx配置的server_name改为jenkins.acue.io
    2. 进入Jenkins后台「系统管理」→「系统配置」,设置Jenkins URL为http://jenkins.acue.io(若后续配置HTTPS则改为https),否则Jenkins页面内的链接可能仍会指向8080端口
  1. 检查网络访问权限
  • 确认EC2安全组已添加入站规则:允许TCP 80端口的访问(来源可设为0.0.0.0/0或指定IP段)
  • 若服务器启用了本地防火墙(如ufw),需开放80端口:sudo ufw allow 80/tcp

内容的提问来源于stack exchange,提问作者Carl Bruiners

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 10:57:34