@mashincode

Как создавать динамические server_name в конфигах nginx?

Я разворачиваю свои Django проекты через Docker ипользую один и тот же конфиг nginx, проблема в том, что мне нужно указывать server_name в дириктиве server и это всегда ip адресс сервера на котором я работаю, как бы автоматизировать этот процесс, что бы server_name автоматически подтягивался, вот пример конфига
server {

    listen 443 ssl;
    listen [::]:443 ssl;

    server_name МОЙ IP тут;
    access_log  /var/log/nginx/example.log;
    server_tokens off;

    location /static/ {
        autoindex off;
        alias /static/;
    }

    location /media/ {
        autoindex on;
        alias /media/;
    }

    location / {
        try_files $uri $uri/ @python_django;
    }

    location @python_django {
        proxy_pass http://python:8000;
        proxy_pass_request_headers on;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
    }
}

server {

    listen 80;
    listen [::]:80;

    server_name МОЙ IP тут;

    return 301 https://$server_name$request_uri;
}
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Заюзайте директиву default_server, тогда будет неважно, что там у вас за IP.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы