到 Sonarqube 的 Nginx 反向代理不起作用。收到 500 错误

回答问题

使用 docker-compose 文件启动了 3 个 docker 容器,即 nginx、sonarqube 和 postgres

docker-compose 文件如下:

版本:“3.3”

服务:

sonarqube: container_name: sonarqube_9 image: sonarqube:9-community restart: always ports: - "9000" networks: - sonarnet depends_on: - db environment: SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar SONAR_JDBC_USERNAME: sonar SONAR_JDBC_PASSWORD: sonar volumes: - /data/docker-volumes/sonarqube/conf:/opt/sonarqube/conf - /data/docker-volumes/sonarqube/data:/opt/sonarqube/data - /data/docker-volumes/sonarqube/extensions:/opt/sonarqube/extensions - /data/docker-volumes/sonarqube/bundled-plugins:/opt/sonarqube/lib/bundled-plugins db: image: postgres:14 restart: always ports: - 5432:5432 networks: - sonarnet environment: POSTGRES_USER: sonar POSTGRES_PASSWORD: sonar volumes: - /data/docker-volumes/postgresql:/var/lib/postgresql - /data/docker-volumes/postgresql/data:/var/lib/postgresql/data reverse_proxy: container_name: reverse_proxy depends_on: - sonarqube image: nginx:latest networks: - sonarnet ports: - 80:80 - 443:443 restart: always volumes: - /data/docker-volumes/nginx/conf:/etc/nginx/conf.d/ networks: sonarnet: name: sonarnet driver: bridge 

……………………………………………………………………………………………………………………………………

在用于反向代理的 default.config 文件中的 nginx 容器内

服务器 {

listen 80; server_name localhost:9000; location / { proxy_pass http://127.0.0.1:9000; } 

在浏览器上尝试访问 http://localhost:80 时,我们在屏幕上收到错误 500

在我们得到的日志中

User_Client: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36" "Request: GET / HTTP/1.1 Status: 502 Request_URI: /主机:本地主机

Answers

nginx 容器中的localhost指的是 nginx 本身。您需要使用容器名称作为代理_pass,例如proxy_pass http://sonarqube_9:9000;.

原文链接:https://devpress.csdn.net/cloud/62ffa0ad7e668234661947c5.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享