Nginx конфиг с Дженкинсом и котом - PullRequest
0 голосов
/ 21 февраля 2020

Я настроил Jenkins для работы на NGINX с контекстным путем «example.com/jenkins», работающим на порте 8080. Теперь я хочу добавить второй контекстный путь для службы tomcat, то есть «example.com/tomcat», работающей на порт 8081. Пока я получаю страницу Apache Tomcat 404, когда захожу на "example.com/tomcat". Я гарантировал, что контекст. xml настроен правильно на стороне tomcat, поэтому я знаю, что проблема не в tomcat. Я думаю, что проблема в том, как я настроил tomcat на nginx, т.е. не могу найти индекс. jsp files et c.

Вот мой конфигурационный файл:

upstream jenkins {
  keepalive 32; # keepalive connections
  server 127.0.0.1:8080; # jenkins ip and port
}

upstream tomcat {
  keepalive 32; # keepalive connections
  server 127.0.0.1:8081; # jenkins ip and port
}

server {
  listen      80;
  server_name example.com;
  return 301 https://$host$request_uri;
}


server {
  listen          443 ssl;
  server_name     example.com;

  ssl_certificate     /etc/ssl/certs/xray-selfsigned.crt;
  ssl_certificate_key /etc/ssl/private/xray-selfsigned.key;

  #this is the jenkins web root directory (mentioned in the /etc/default/jenkins file)
  root            /var/run/jenkins/war/;

  access_log      /var/log/nginx/jenkins/access.log;
  error_log       /var/log/nginx/jenkins/error.log;
  ignore_invalid_headers off; #pass through headers from Jenkins which are considered invalid by Nginx server.

  location ~ "^/static/[0-9a-fA-F]{8}\/(.*)$" {
    #rewrite all static files into requests to the root
    #E.g /static/12345678/css/something.css will become /css/something.css
    rewrite "^/static/[0-9a-fA-F]{8}\/(.*)" /$1 last;
  }

  location /userContent {
    #have nginx handle all the static requests to the userContent folder files
    #note : This is the $JENKINS_HOME dir
        root /var/lib/jenkins/;
    if (!-f $request_filename){
      #this file does not exist, might be a directory or a /**view** url
      rewrite (.*) /$1 last;
          break;
    }
        sendfile on;
  }

  location ^~ /jenkins/ {
      sendfile off;
      proxy_pass         http://127.0.0.1:8080;
      proxy_redirect     http:// https://;
      proxy_http_version 1.1;

      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_max_temp_file_size 0;

      #this is the maximum upload size
      client_max_body_size       100M;
      client_body_buffer_size    128k;

      proxy_connect_timeout      90;
      proxy_send_timeout         90;
      proxy_read_timeout         90;
      proxy_buffering            off;
      proxy_request_buffering    off; # Required for HTTP CLI commands in Jenkins > 2.54
      proxy_set_header Connection ""; # Clear for keepalive
  }

    location ^~ /tomcat/ {
      root               /opt/tomcat/webapps/ROOT/;
      index              index.jsp index.html index.htm;  
      sendfile off;
      proxy_pass         http://127.0.0.1:8081;
      proxy_redirect     http:// https://;
      proxy_http_version 1.1;

      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_max_temp_file_size 0;

      #this is the maximum upload size
      client_max_body_size       100M;
      client_body_buffer_size    128k;

      proxy_connect_timeout      90;
      proxy_send_timeout         90;
      proxy_read_timeout         90;
      proxy_buffering            off;
      proxy_request_buffering    off; # Required for HTTP CLI commands in Jenkins > 2.54
      proxy_set_header Connection ""; # Clear for keepalive
  }

  location / {
      root /var/www/html;
      index index.html;
  }

}
...