Heim > Backend-Entwicklung > Python-Tutorial > So richten Sie den Nginx-Reverse-Proxy für den lokalen Docker Django ein

So richten Sie den Nginx-Reverse-Proxy für den lokalen Docker Django ein

WBOY
Freigeben: 2024-02-08 21:12:16
nach vorne
1257 Leute haben es durchsucht

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

Frageninhalt

Ich verwende nginxdjango 服务开发一个 docker 项目。我已将 django.conf.template Parametrisierung, um Umgebungsvariablen basierend auf der Umgebung dynamisch zu übergeben.

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;
  }
}
Nach dem Login kopieren

Die Vorlage funktioniert gut, da ich die Umgebungsvariablenwerte mit dem more /etc/nginx/conf.d/sites-available/django.confBefehl

anzeigen kann
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;
  ...
Nach dem Login kopieren

Aber wenn ich versuche, über den Browser zuzugreifen, funktioniert es nicht.

Irgendwelche Ideen? Kann mir jemand helfen?


Richtige Antwort


Auf lokal und auf dem Mac muss ich host.docker.internal IP wie folgt zu /etc/hosts der Nginx-Konfigurationsdatei hinzufügen:

127.0.0.1        localhost
172.17.0.1       localhost
...
Nach dem Login kopieren

Und lösen Sie das Problem.

Das obige ist der detaillierte Inhalt vonSo richten Sie den Nginx-Reverse-Proxy für den lokalen Docker Django ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage