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

问题描述 投票:0回答:1

使用 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,如 Gecko)Chrome/98.0.4758.102 Safari/537.36" “请求:GET/HTTP/1.1 状态:502 请求_URI:/ 主机:本地主机

docker nginx docker-compose sonarqube nginx-reverse-proxy
1个回答
1
投票
nginx容器中的

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

© www.soinside.com 2019 - 2024. All rights reserved.