#nginx #subdomain #web-deployment
#nginx #поддомен #веб-развертывание
Вопрос:
Я новичок в развертывании сервера. Для моего приложения электронной коммерции у меня есть два проекта react, один storefront
для клиентов, а другой dashboard
для администраторов. Я настроил свой сервер nginx со следующей конфигурацией. Я могу получить доступ к своему магазину, перейдя https://shop.saleortest.com , но я хочу получить доступ к своей панели мониторинга с помощью https://shop.saleortest.com/dashboard . Это можно сделать с reverse proxy
помощью добавления proxy_pass
внутри location
блока. Но я не знаю, как этого добиться. Я попытался добавить этот блок здесь https://admin.shop.saleortest.com работает на том же сервере. Но это не работает
location /dashboard/ {
proxy_pass https://admin.shop.saleortest.com;
}
В качестве примера я могу перейти на этот сайт https://demo.saleor.io / это витрина магазина, и если я пойду в https://demo.saleor.io/dashboard это приводит меня к dashboard
приложению, это два разных приложения react, использующих один и тот же домен. Здесь и storefront, и dashboard работают на одном сервере? Как я могу добиться чего-то подобного. Спасибо.
server {
server_name shop.saleortest.com;
root /var/www/html/storefront;
index index.html;
location / {
try_files $uri $uri/ /index.html?$args;
}
location /graphql/ {
proxy_pass http://127.0.0.1:8000/graphql/;
}
location /dashboard/ {
proxy_pass https://admin.gethookedseafood.com;
}
listen [::]:443 ssl; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/shop.saleortest.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/shop.saleortest.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = shop.saleortest.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name shop.saleortest.com;
return 404; # managed by Certbot
}