То, что вам нужно, называется обратным проксированием.Попробуйте эту конфигурацию:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name example.com;
resolver <some_name_server_ip_here>;
root /usr/share/nginx/html;
index index.html index.htm;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
location / {
proxy_set_header Host $http_host;
proxy_pass http://localhost:2369;
}
location /api {
proxy_set_header Host api.example.com;
proxy_pass http://api.example.com;
}
}
Если вы укажете api.example.com
с именем домена в своей резервной копии, вам необходимо добавить директиву resolver
в вашу конфигурацию server
.Или вы можете указать его с IP-адресом и не использовать директиву resolver
.В любом случае вам нужно будет явно указать имя вашего внутреннего сервера api с помощью директивы proxy_set_header
.Вы можете использовать свой локальный сервер имен в качестве параметра директивы resolver
, если он у вас есть, или использовать что-то внешнее, например, общедоступный DNS Google (8.8.8.8) или DNS, предоставленный вам вашим провайдером.