作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试设置一个 Jenkins 主节点和一个 Jenkins 从节点,其中 Jenkins 主节点位于具有 SSL 终止的不同服务器上的 Nginx 反向代理后面。 nginx配置如下:
upstream jenkins {
server <server ip>:8080 fail_timeout=0;
}
server {
listen 443 ssl;
server_name jenkins.mydomain.com;
ssl_certificate /etc/nginx/certs/mydomain.crt;
ssl_certificate_key /etc/nginx/certs/mydomain.key;
location / {
proxy_set_header Host $host:$server_port;
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_redirect http:// https://;
proxy_pass http://jenkins;
}
}
server {
listen 80;
server_name jenkins.mydomain.com;
return 301 https://$server_name$request_uri;
}
java -jar slave.jar -jnlpUrl https://jenkins.mydomain.com/computer/slave-1/slave-agent.jnlp -secret <secret>
INFO: Connecting to jenkins.mydomain.com:50000 (retrying:4)
java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at hudson.remoting.Engine.connect(Engine.java:400)
at hudson.remoting.Engine.run(Engine.java:298)
最佳答案
JNLP 端口似乎使用二进制协议(protocol),而不是基于文本的 HTTP 协议(protocol),所以很遗憾,它不能像正常的 Jenkins 页面那样通过 NGINX 进行反向代理。
相反,您应该:
hudson.TcpSlaveAgentListener.hostName
到jenkins.mydomain.com/computer/
使用 Launch 方法“通过 Java Web Start 启动从代理”,单击计算机,单击配置,单击 Launch 方法下右侧的高级...按钮,并适当设置“隧道连接通过”字段。阅读问号帮助。您可能只需要“HOST:”语法,其中 HOST 是后端 Jenkins 服务器的主机名或 IP 地址。 关于nginx - Jenkins:如何在 Nginx 反向代理后面配置 Jenkins 以供 JNLP 从站连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38729686/
我是一名优秀的程序员,十分优秀!