Nginx 作为特定路径的反向代理

Nginx 作为特定路径的反向代理

我正在尝试将 Nginx 设置为 Jenkins CI/CD 的反向代理。

Jenkins 的一个非常流行的插件 Blue Ocean 可以在 上访问<jenkins-domain.tld>/blue

我正在寻找一个 Nginx 配置,允许我使用单独的域访问 Blue Ocean,即<jenkins-domain.tld><blue-ocean-domain.tld>。因此,所有到的请求<blue-ocean-domain.tld>都应路由到/blue子路径。

这怎么可能呢?

答案1

你需要使用所谓的服务器块

upstream jenkins {
  server jenkins:8080 fail_timeout=10;
}

server {
  listen       ...;
  server_name  jenkins-domain.tld;

  location / {                
    proxy_redirect          http:// https://;
    proxy_pass              http://jenkins;
  }
}

server {
  listen       ...;
  server_name  blue-ocean-domain.tld;

  location / {                
    proxy_redirect          http:// https://;
    proxy_pass              http://jenkins/blue;
  }
}

相关内容