我已经尝试了至少六个示例,说明如何使NGINX与Jenkins一起工作。我最近的NGINX配置基于以下示例:
https://wiki.jenkins.io/display/JENKINS/Running+Jenkins+behind+Nginx
詹金斯一直在说,It appears that your reverse proxy set up is broken.我希望别人能发现问题出在哪里,因为我已经花了数小时试图解决这个问题,但无济于事。
It appears that your reverse proxy set up is broken.
谢谢!
upstream cicd { keepalive 32; server 127.0.0.1:8080; } server { listen 443 ssl; listen [::]:443 ssl ipv6only=on; server_name cicd.domain.com; root /var/run/jenkins/war/; access_log /var/log/nginx/jenkins/access.log; error_log /var/log/nginx/jenkins/error.log; ssl_certificate /etc/letsencrypt/live/cicd.domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/cicd.domain.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; #static files location ~ "^/static/[0-9a-fA-F]{8}\/(.*)$" { rewrite "^/static/[0-9a-fA-F]{8}\/(.*)" /$1 last; } #user content location /userContent { root /var/lib/jenkins/; if (!-f $request_filename){ rewrite (.*) /$1 last; break; } sendfile on; } #cicd location @cicd { sendfile off; proxy_pass http://cicd; proxy_redirect http://localhost:8080 https://cicd.domain.com; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_max_temp_file_size 0; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffering off; proxy_request_buffering off; proxy_set_header Connection ""; } #optional location / { if ($http_user_agent ~* '(iPhone|iPod)') { rewrite ^/$ /view/iphone/ redirect; } try_files $uri @cicd; } }
这不是NGINX问题。
在Jenkins内部,您需要配置Jenkins URL。如果未正确设置,则会收到您观察到的错误。 检查Jenkins->管理Jenkins->配置系统=> Jenkins URL。