首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >一些管理Jenkins链接不起作用- Nginx反向代理,Tomcat

一些管理Jenkins链接不起作用- Nginx反向代理,Tomcat
EN

Stack Overflow用户
提问于 2019-05-21 06:40:56
回答 1查看 356关注 0票数 1

我在同一个Windows2012 R2操作系统上安装了两个不同版本的Jenkins。Jenkins v1.590在Apache Tomcat web服务器后面运行,Jenkins 2.164作为Windows服务运行。这两个Jenkins实例都可以通过HTTPS访问。

为此,我将Nginx作为反向代理运行,它将所有对https://jenkins.company.com/jenkins的请求重定向到Tomcat服务器,将https://jenkins2.company.com重定向到Jenkins 2.164 Windows服务。

除了Jenkins v1.590上的异常行为之外,一切都运行得很好。我遇到的问题是,当我访问Manage Jenkins下的一些链接时,它们会重定向到本地主机。

以下是运行良好的链接:

然后有一些链接不起作用:

还有很多其他的。

如果我复制到一个新窗口中并在末尾添加一个/,例如:https://jenkins.company.com/jenkins/configureSecurity/ works fine,我仍然可以访问这些链接。

我不确定为什么我会在Jenkins v1.590中得到这些差异。要注意的是,我最近做了这个更改,在安装Nginx之前,所有的链接都工作得很好。

下面是我的配置:

Nginx:

upstream tomcat_server {
    # Tomcat is listening on default 8080 port
    server 127.0.0.1:8080 fail_timeout=0;
}

server {
    listen       443 ssl;
    server_name  jenkins.company.com/jenkins;

    ssl_certificate C:/nginx1.15.12/certs/jenkins/server.crt;
    ssl_certificate_key C:/nginx1.15.12/certs/jenkins/server.key;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_redirect off;
        proxy_connect_timeout      240;
        proxy_send_timeout         240;
        proxy_read_timeout         240;
        # note, there is not SSL here! plain HTTP is used
        proxy_pass http://tomcat_server;

    }
}

Tomcat配置:

<Connector executor="tomcatThreadPool"
    port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" 
    proxyName="localhost"
    proxyPort="443"
    scheme="https"/>

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
EN

回答 1

Stack Overflow用户

发布于 2019-05-23 09:06:40

好了,我想通了。我不得不将Tomcat服务器上的proxyName更改为url。这就是解决方案:

<Connector executor="tomcatThreadPool"
           port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" 
           proxyName="jenkins.company.com"
           proxyPort="443"
           scheme="https"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56229043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档