Docker에서 nginx를 통해 프록시될 때 webGUI 동기화가 중단됨

Docker에서 nginx를 통해 프록시될 때 webGUI 동기화가 중단됨

Docker를 사용하여 Ubunty 18.04 서버에 동기화를 배포하고 싶습니다.

WebGUI 트래픽이 내 인증서를 사용하여 SSL을 통과하도록 nginx를 역방향 프록시로 사용하고 있습니다. 그러나 nginx를 통해 프록시될 때 webGUI를 열면 다음과 같이 보입니다.https://i.stack.imgur.com/UdhYO.png

Google에서 이 문제를 겪고 있는 사람을 한 명 더 찾았지만 해결책을 찾지 못했습니다. 무슨 일인지 아는 사람 있나요?

내 docker-compose.yml:

version: '3'

services:

  nginx:
    image: nginx:latest
    container_name: nginx-1
    networks:
      - syncthing
    ports:
      - "80:80"
      - "443:443"
    restart: always
    volumes:
      - ./www:/var/www
      - ./nginx/:/etc/nginx
      - ./nginx/log:/var/log/nginx
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
    command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"

  syncthing:
    image: linuxserver/syncthing
    container_name: syncthing-1
    networks:
      - syncthing
    ports:
        #webUI 
      - 8384:8384
        #listening  
      - 22000:22000
        #port discovery
      - 21027:21027/udp
    restart: always
    volumes:
      - ./syncthing/config:/config
      - ./syncthing/data:/data
    environment:
      - TZ=CET

  letsencrypt:
    image: certbot/certbot
    command: renew
    container_name: letsencrypt-1
    networks:
      - le
    depends_on:
      - nginx
    restart: always
    volumes:
      - ./letsencrypt:/etc/letsencrypt
      - ./letsencrypt/log:/var/log/letsencrypt
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
    entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"


networks:
  syncthing:

그리고 내 동기화 nginx 사이트 지원 파일은 다음과 같습니다.

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name example.com;
    root /;

    # SSL
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

    # reverse proxy
    location /syncthing {
        proxy_pass http://syncthing:8384;

        proxy_read_timeout      600s;
        proxy_send_timeout      600s;    

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

# HTTP redirect
server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    location / {
        return 301 https://example.com$request_uri;
    }
}

관련 정보