在我的CentOS-7.6
上,我有两个运行在不同端口上的SonarQube Web应用程序。
$SONARQUBE_HOME/conf/sonar.properties file updated like below.
For Application:1
sonar.web.context=/application
sonar.web.port=9090
For Application:2
sonar.web.context=/application-old
sonar.web.port=9089
对于反向代理,我已经安装了nginx version: nginx/1.12.2
。
要在具有单个IP地址的80端口上运行两个应用程序,我的/etc/nginx/conf.d/application.conf
文件应具有以下代码。
server {
listen 80;
server_name 65.66.67.68;
location /application {
proxy_pass http://65.66.67.68:9090;
}
location /application-old {
proxy_pass http://65.66.67.68:9089;
}
}
这里的问题是通过80端口访问以下端口。
1) http://65.66.67.68/application
2) http://65.66.67.68/application-old
在port – 9090
上运行的应用程序在IE,Chrome和firefox浏览器上显示page loading
。屏幕截图如下。
与端口-http://65.66.67.68:9090/application
一起运行。
另一个位置应用程序(http://65.66.67.68/application-old)
正在加载并运行。
我的应用程序在下面两个不同的位置运行。
1) http://65.66.67.68:9090/application
2) http://65.66.67.68:9089/application-old
那么如何在80端口和单个IP地址上运行两个应用程序。
答案 0 :(得分:0)
您应该使用proxy_header定义反向代理,并在每次更改配置文件时应用它们。
location /application/ {
proxy_pass http://65.66.67.68:9090;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
#proxy_connect_timeout 3600;
#proxy_send_timeout 3600;
#proxy_read_timeout 3600;
#send_timeout 3600;
}
location /application-old/ {
proxy_pass http://65.66.67.68:9089;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
#proxy_connect_timeout 3600;
#proxy_send_timeout 3600;
#proxy_read_timeout 3600;
#send_timeout 3600;
}
然后:
$ nginx -t (test if syntax is OK)
$ nginx -s reload (apply new changes)
现在,从Web浏览器访问您的应用程序
http://65.66.67.68/aplication
http://65.66.67.68/aplication-old
在logs
目录中,您可以检查任何错误/信息消息。
更新:确保已正确加载nginx。有时,它会出现故障,并且无法正确更新。重新启动/杀死Nginx,然后重新启动