#express #nginx
#экспресс #nginx
Вопрос:
У меня есть домен, настроенный с помощью прокси-сервера nginx для маршрутизации следующим образом:
mydomain.com -> localhost:3000
Но теперь я хочу, чтобы конкретный поддомен указывал на что-то вроде этого:
subdomain.mydomain.com -> localhost:3000/mypage
Пробовал несколько вещей, но я не могу заставить это работать:
server {
listen 80;
server_name subdomain.mydomain.com;
server_tokens off;
proxy_hide_header X-Powered-By;
location /healthcheck {
access_log off;
proxy_pass http://localhost:3000;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
# NGINX will reject anything not matching /
location ~ /(?<section>. )/ {
# Reject requests with unsupported HTTP method
if ($request_method !~ ^(GET|POST|HEAD|OPTIONS|PUT|DELETE)$) {
return 405;
}
# Only requests matching the whitelist expectations will
# get sent to the application server
proxy_pass http://localhost:3000/mypage/$section;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
}
Комментарии:
1. Вы пробовали
location / { proxy_pass http://localhost:3000/mypage/; ... }
?2. Да, я заставил это работать с этим, я думаю, что забыл последний / когда пробовал этот. Спасибо