title: NGINX/JENKINS: It appears that your reverse proxy set up is broken
body: <p>I've tried at least a half a donzen examples on how to get NGINX working with Jenkins. My most recent NGINX configuration is based on the following example: </p>
  
  <p><a href="https://wiki.jenkins.io/display/JENKINS/Running+Jenkins+behind+Nginx" rel="noreferrer">https://wiki.jenkins.io/display/JENKINS/Running+Jenkins+behind+Nginx</a></p>
  
  <p>No mater what I try, Jenkins keeps saying <code>It appears that your reverse proxy set up is broken.</code> I'm hoping someone can spot what is wrong as I have spent hours trying to solve this to no avail.</p>
  
  <p>Thanks!</p>
  
  <pre><code>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;
          }
  
  }
  </code></pre>