简体   繁体   中英

Nginx can't find upstream from docker-compose

I am trying to run a nginx proxy server with a ktor java server behind. However, nginx throws "111: Connection refused" with those configurations. I've tried the "setting upstream server name from localhost to docker compose name" on web but it didn't help anything.
Thank you in advance, and sorry for my poor english.
docker-compose.yml

version: "3.8"
services:
  nginx:
    image: nginx:1.19.3
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./Nginx/logs:/var/log/nginx
      - ./Nginx/confs:/etc/nginx/conf.d
      - ./Nginx/confs:/etc/nginx/keys
  mariadb:
    image: mariadb:10.5.6
    ports:
      - 3306:3306
    volumes:
      - ./Mariadb/data:/var/lib/mysql
      - ./Mariadb/confs:/etc/mysql/conf.d
      - ./Mariadb/inits:/docker-entrypoint-initdb.d
    env_file:
      - .env
    environment:
      TZ: Asia/Seoul
      MYSQL_USER: dockhyub
  yangjin208:
    build: ./Yangjin208
    ports:
      - "3000:8080"
    env_file:
      - .env
      - ./Yangjin208/.env
    links:
      - mariadb:sql

yangjin208.conf under ./Nginx/confs

upstream yangjin208_app {
    server yangjin208:3000;
}

server {
    listen 80;
    server_name localhost;

    location / {
        proxy_pass http://yangjin208_app;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $server_name;
    }
}

localhost:3000 is accessible by browser, and has no problems.

I think you're not using the yangjin208.conf in nginx. Rename yangjin208.conf to default.conf.

So, I've found the problem - It seems like the docker internal network uses the original port instead of the port changed from docker-compose.yml's "ports" configuration. I was using the port 3000 (Port declared from docker-compose) instead of 8080 (The original port), and that was the reason it didn't work. Thanks for everyone.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM