Задать вопрос
@De_la_verrier

Как сделать в одном файле nginx несколько сервисов?

Хочу сделать в одном файле nginx который находится у меня по пути /etc/nginx/sites-available два сервиса.
Вот как сейчас выглядит код nginx:

upstream admin_app_server {
    server unix:/home/ubuntu/Project/admin.sock fail_timeout=0;
}

upstream api_app_server {
    server unix:/home/ubuntu/Project/src/admin/rest_api.sock fail_timeout=0;
}

server {
    listen 80;
    server_name admin.project.tech www.admin.project.tech;

    location / {
        proxy_set_header   Host                    $http_host;
        proxy_set_header   X-Forwarded-For         $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto       $scheme;
        proxy_set_header   X-Forwarded-Host        $server_name;
        proxy_set_header   Upgrade                 $http_upgrade;
        proxy_redirect off;
        proxy_pass http://admin_app_server;
    }
}

server {
    listen 80;
    server_name api.project.tech www.api.project.tech;

    location / {
        proxy_set_header   Host                    $http_host;
        proxy_set_header   X-Forwarded-For         $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto       $scheme;
        proxy_set_header   X-Forwarded-Host        $server_name;
        proxy_set_header   Upgrade                 $http_upgrade;
        proxy_redirect off;
        proxy_pass http://api_app_server;
    }
}
  • Вопрос задан
  • 232 просмотра
Подписаться 2 Простой 7 комментариев
Пригласить эксперта
Ответы на вопрос 1
Yobanaris
@Yobanaris
Учусь отвечая.
stream {
    upstream reality {
        server ;
    }
    upstream other {
        server 127.0.0.1:8443;
    }
    upstream nginx {
        server 127.0.0.1:8443;
    }
    map_hash_bucket_size 128;
    map $ssl_preread_server_name $upstream { 
         reality;
        default other;
    }
    server {
        listen 443;
        proxy_pass $upstream;
        proxy_protocol on; 
        ssl_preread on;
    }
}

Полный код который я использую
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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