我正在使用码头工人。我正在删除用django创建的api应用程序。当我去ip地址时api工作正常。但是我重定向的子域给出了“错误请求400”错误。你能帮我吗?
您能帮忙吗? 尝试转到https://api.mywebsite.com时,只会收到“错误请求(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;
}
}