使用Nginx代理到一个域名下的多个站点
Use Nginx to proxy to multiple sites under one domain name
我在服务器上有一个 jenkins 和 sonarqube 容器 运行。是否可以使用Nginx连接到同一域名下的每个?因此,例如 my.domain.com/jenkins 命中 jenkins 容器并且 my.domain.com/sonar 命中 sonarqube?
我对设置的初步猜测是这样的。
server {
listen 80;
server_name my.domain.com;
location /sonar {
proxy_pass http://sonarqube:9000/;
}
location /jenkins {
proxy_pass http://jenkins:8080/;
}
}
我保留 运行 的这个问题涉及在初始页面之后进行的后续调用。有没有办法在所有调用中保留 /sonar/ 和 /jenkins/ 部分?
您需要让这些应用程序了解不同的上下文,以便它们正确生成链接。对于 Jenkins,您需要在启动 Jenkins 时指定 --prefix=/jenkins
,对于 SonarQube,您需要在启动 SonarQube 时设置环境变量 SONAR_WEB_CONTEXT=/sonar
。
参见: