Docker compose docker nginx反向代理转发

Docker compose docker nginx反向代理转发,docker-compose,lets-encrypt,nginx-reverse-proxy,Docker Compose,Lets Encrypt,Nginx Reverse Proxy,我用的是码头工人。我正在删除用django创建的api应用程序。当我转到ip地址时,api工作正常。但是我重定向的子域给出了一个“坏请求400”错误。你能帮我吗 你能帮个忙吗? 当我尝试转到时,我只收到一个“错误请求(400)”错误 dns重定向 docker-compose.yml version: '3' services: django-api: build: . volumes: - .:/code - static_volume:/opt

我用的是码头工人。我正在删除用django创建的api应用程序。当我转到ip地址时,api工作正常。但是我重定向的子域给出了一个“坏请求400”错误。你能帮我吗

你能帮个忙吗? 当我尝试转到时,我只收到一个“错误请求(400)”错误

dns重定向

docker-compose.yml

version: '3'
services:
  django-api:
     build: .
     volumes:
      - .:/code
      - static_volume:/opt/services/django-api/static
      - media_volume:/opt/services/django-api/media
     networks:
      - nginx_network
      - djangodb_network
  nginx:
    build:
      context: .
      dockerfile: Dockerfile.lets
    restart: always
    expose:
     - 80
    ports:
     - "80:80"
     - "443:443"
    environment:
      DOMAIN: api.mywebsite.net
      EMAIL: mymailaddress@aaa.com
      RENEW_INTERVAL: 12h
    volumes:
     - ./certificates:/usr/share/nginx/certificates
     - ./config/nginx/conf.d:/etc/nginx/conf.d
     - static_volume:/opt/services/django-api/static
     - media_volume:/opt/services/django-api/media
    networks:
     - nginx_network
nginx.conf

upstream rest_server{
 server django-api:8000;
}
server{
 listen 80;
  resolver 127.0.0.11;
  location /.well-known/acme-challenge/ {
      root /var/www/certbot;
  }
 location / {
  proxy_pass http://rest_server;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $host;
  proxy_redirect off;
 }
 location /static/ {
  alias /opt/services/django-api/static/;
 }
 location /media/ {
  alias /opt/services/django-api/media/;
 }
}
# SSL
server {
    listen 443 ssl;
    resolver 127.0.0.11;

    ssl_certificate /usr/share/nginx/certificates/fullchain.pem;
    ssl_certificate_key /usr/share/nginx/certificates/privkey.pem;
    include /etc/ssl-options/options-nginx-ssl.conf;
    ssl_dhparam /etc/ssl-options/ssl-dhparams.pem;

    location / {
     proxy_pass http://rest_server;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Host $host;
     proxy_redirect off;
    }
}

尝试将ssl服务器设为默认服务器

# SSL
server {
    listen 443 ssl default_server;
    resolver 127.0.0.11;

    ssl_certificate /usr/share/nginx/certificates/fullchain.pem;
    ssl_certificate_key /usr/share/nginx/certificates/privkey.pem;
    include /etc/ssl-options/options-nginx-ssl.conf;
    ssl_dhparam /etc/ssl-options/ssl-dhparams.pem;

    location / {
     proxy_pass http://rest_server;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Host $host;
     proxy_redirect off;
    }
}

请帮帮我!