J'utilise le paramétrage nginx
和 django
服务开发一个 docker 项目。我已将 django.conf.template
pour transmettre dynamiquement des variables d'environnement en fonction de l'environnement.
django.conf:
upstream django_app { server ${django_private_ip}:${django_port}; } server { listen 80; listen 443 ssl; listen [::]:443 ssl; server_name ${nginx_server_name}; ssl_certificate /etc/nginx/certs/elitecars_cert.pem; ssl_certificate_key /etc/nginx/certs/elitecars_privkey.pem; access_log /var/log/nginx/nginx.django.access.log; error_log /var/log/nginx/nginx.django.error.log; location / { proxy_set_header x-forwarded-host $host; proxy_set_header x-forwarded-server $host; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header x-forwarded-proto $scheme; proxy_set_header x-real-ip $remote_addr; proxy_set_header host $host; proxy_redirect off; proxy_pass http://django_app; } }
Le modèle fonctionne bien car je peux afficher les valeurs des variables d'environnement à l'aide de la commande more /etc/nginx/conf.d/sites-available/django.conf
upstream django_app { server django:8000; } server { listen 80; listen 443 ssl; listen [::]:443 ssl; server_name 0.0.0.0 127.0.0.1 localhost; ...
Mais lorsque j'essaie d'accéder via un navigateur, cela ne fonctionne pas.
Des idées ? Quelqu'un peut-il m'aider?
En local et sur mac, je dois ajouter l'adresse IP host.docker.internal à /etc/hosts du fichier de configuration nginx comme ceci :
127.0.0.1 localhost 172.17.0.1 localhost ...
Et résolvez le problème.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!