recherche

Maison  >  Questions et réponses  >  le corps du texte

Une erreur 404 se produit dans Jenkins en utilisant le proxy inverse nginx

Configuration nginx :

server {

    listen 80;
    server_name localhost;

    location /jenkins {

      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;

      # Fix the "It appears that your reverse proxy set up is broken" error.
      proxy_pass          http://127.0.0.1:8081;
      proxy_read_timeout  90;
    }
  }

Utilisez un navigateur pour accéder à http://ip/jenkins, il passera à http://ip/login?from=%2Fjenkins et une erreur 404 apparaîtra.

Mais utilisez la configuration nginx ci-dessous

server {

    listen 80;
    server_name localhost;

    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;

      # Fix the "It appears that your reverse proxy set up is broken" error.
      proxy_pass          http://127.0.0.1:8081;
      proxy_read_timeout  90;
    }
  }

Lorsque vous utilisez un navigateur pour accéder à http://ip, il passera à http://ip/login?from=%2Fjenkins, mais vous pouvez y accéder normalement. Pourquoi ?

Si je souhaite implémenter la méthode d'accès http://ip/jenkins, comment configurer nginx ?

PHPzPHPz2747 Il y a quelques jours1783

répondre à tous(1)je répondrai

  • 習慣沉默

    習慣沉默2017-05-16 17:16:58

    Probablement comme ça

    server{
        location / {
            try_files $uri @jenkins;
         }
         
        location @jenkins {
            internal;
            proxy_pass http://127.0.0.1:8080;
        }
    }

    répondre
    0
  • Annulerrépondre