Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
nginx反向代理和docker存在问题。只有一个代理路径正在工作_Docker_Nginx_Docker Compose_Reverse Proxy - Fatal编程技术网

nginx反向代理和docker存在问题。只有一个代理路径正在工作

nginx反向代理和docker存在问题。只有一个代理路径正在工作,docker,nginx,docker-compose,reverse-proxy,Docker,Nginx,Docker Compose,Reverse Proxy,我完全迷路了。。因此,在我的nginx conf中有两个proxy_路径:'/'和'/api'/'重定向到我的前端,工作正常,但“/api”代理路径根本不工作。代理服务器正在将请求记录到“/api/”,但没有将它们转发到我的实际api服务器。我错过了一些东西。“/”代理路径是否是覆盖任何其他代理路径的某种“包罗万象”路径?任何帮助都是无价的!谢谢以下是我的配置: nginx反向代理配置: server { listen 80; server_name proxy; lo

我完全迷路了。。因此,在我的nginx conf中有两个proxy_路径:'/'和'/api'/'重定向到我的前端,工作正常,但“/api”代理路径根本不工作。代理服务器正在将请求记录到“/api/”,但没有将它们转发到我的实际api服务器。我错过了一些东西。“/”代理路径是否是覆盖任何其他代理路径的某种“包罗万象”路径?任何帮助都是无价的!谢谢以下是我的配置:

nginx反向代理配置:

server {
    listen 80;
    server_name proxy;

    location / {
      proxy_pass http://frontend_prod:3000/;
    }

    location /api {
      proxy_pass http://api_prod:3333/;
    }
}
docker compose:

version: '3.1'
services:

  proxy:
    build: ./proxy/
    ports:
      - '9000:80'
    restart: always
    depends_on:
      - frontend_prod
      - api_prod

  frontend_prod:
    build: ./frontend/nginx/
    ports:
      - '3000'
    depends_on:
      - api_prod
    restart: always

  db:
    image: mariadb
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: hunter2

  api_prod:
    build: ./backend/api/
    command: npm run production
    ports:
      - '3333'
    depends_on:
      - db

Nignx配置正常。您说nginx正在转发到您的api服务器。响应代码是什么?是502503吗?@RodrigoLoza对不起,我忘了提什么。这在本地安装了nginx服务器的vps上运行,该服务器被设置为具有ssl证书的反向代理。其想法是在docker环境中有到不同项目的代理路由,并为所有项目/其服务提供https。因此本地nginx代理在'/myproject'->docker中的nginx代理上有一个proxy\u传递。这反过来会将请求重新路由到“/”到我的前端,并将请求重新路由到“/api”到我的api。老实说,我完全迷路了,我甚至不知道把我的请求送到哪里去我确实让docker代理…将我的请求转发到api-但是api现在在每次请求时都会崩溃,并且出现RangeError[ERR_HTTP_INVALID_STATUS_CODE]:INVALID STATUS CODE:undefined@RodrigoLoza没关系,事实证明我把express中的错误处理程序搞糟了。Api工作正常,但数据库不正常。:)谢谢你的帮助!