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

CentOS系统下Nginx配置Jenkins HTTPS反向代理无法生效

问题排查与解决步骤
  • 第一步:检查端口与防火墙配置
    CentOS系统默认firewalld服务未开放443端口,若使用云服务器需额外检查安全组规则是否允许HTTPS(443)入站:
    # 放行HTTPS端口
    firewall-cmd --add-service=https --permanent
    firewall-cmd --reload
    # 检查端口监听状态,确认Nginx已正常监听443端口
    netstat -tulpn | grep nginx
    
  • 第二步:修正Nginx配置问题
    你当前的Nginx配置存在两处兼容性问题:
    1. 新版本Nginx不推荐单独使用ssl on指令,需直接在listen字段声明ssl属性
    2. 需确认SSL证书文件权限配置正确,Nginx进程需具备证书文件的读取权限,建议证书权限设置为600,属主为root或nginx用户
      修正后的/etc/nginx/sites-enabled/default配置如下:
    server {
      listen 80;
      return 301 https://$host$request_uri;
    }
    
    server {
      # 此处添加ssl标识,删除单独的ssl on配置
      listen 443 ssl;
      server_name 134.68.44.235;
    
      ssl_certificate           /etc/nginx/cert.crt;
      ssl_certificate_key       /etc/nginx/cert.key;
    
      ssl_session_cache  builtin:1000  shared:SSL:10m;
      ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
      ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
      ssl_prefer_server_ciphers on;
    
      access_log            /var/log/nginx/jenkins.access.log;
      error_log             /var/log/nginx/jenkins.error.log;
    
      location / {
        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_pass          http://localhost:8080;
        proxy_read_timeout  90;
    
        proxy_redirect      http://localhost:8080 https://134.68.44.235;
      }
    }
    
    配置修改完成后执行语法检查与配置重载:
    # 检查配置语法是否正确
    nginx -t
    # 重载Nginx配置
    systemctl reload nginx
    
  • 第三步:放开SELinux反向代理限制
    CentOS默认SELinux策略会阻止Nginx反向代理本地服务,执行以下命令放开限制:
    setsebool -P httpd_can_network_connect on
    
  • 第四步:修正Jenkins配置
    1. 你当前可通过公网IP:8080直接访问Jenkins,说明httpListenAddress=127.0.0.1配置未生效,需重启Jenkins让配置生效,避免Jenkins直接对公网暴露
    2. 登录Jenkins后台,依次进入【Manage Jenkins】-【Configure System】-【Jenkins URL】,填写HTTPS访问地址:https://134.68.44.235,保证页面跳转逻辑正常
    3. 修正/etc/default/jenkins配置,添加代理相关适配参数:
    JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpListenAddress=127.0.0.1 --httpPort=$HTTP_PORT -ajp13Port=$AJP_PORT --httpForwardedForHeader=X-Forwarded-For"
    
    配置修改完成后重启Jenkins:
    systemctl restart jenkins
    
  • 第五步:日志定位残留问题
    如果上述操作完成后仍无法正常访问,查看Nginx错误日志定位具体问题:
    tail -f /var/log/nginx/jenkins.error.log
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:36:04