Comment configurer le proxy inverse Nginx pour Docker Django local

WBOY
Libérer: 2024-02-08 21:12:16
avant
1219 Les gens l'ont consulté

如何为本地 Docker Django 设置 Nginx 反向代理

Contenu de la question

J'utilise le paramétrage nginxdjango 服务开发一个 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;
  }
}
Copier après la connexion

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;
  ...
Copier après la connexion

Mais lorsque j'essaie d'accéder via un navigateur, cela ne fonctionne pas.

Des idées ? Quelqu'un peut-il m'aider?


Bonne réponse


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
...
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal