Saya menggunakan nginx
和 django
服务开发一个 docker 项目。我已将 django.conf.template
parameterisasi untuk melepasi pembolehubah persekitaran secara dinamik berdasarkan persekitaran.
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; } }
Templat berfungsi dengan baik kerana saya boleh melihat nilai pembolehubah persekitaran menggunakan arahan 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; ...
Tetapi apabila saya cuba mengakses melalui pelayar ia tidak berfungsi.
Ada idea? Bolehkah sesiapa membantu saya?
Pada tempatan dan mac, saya perlu menambah host.docker.internal ip ke /etc/hosts bagi fail konfigurasi nginx seperti berikut:
127.0.0.1 localhost 172.17.0.1 localhost ...
Dan selesaikan masalah.
Atas ialah kandungan terperinci Bagaimana untuk menyediakan proksi terbalik Nginx untuk Docker Django tempatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!