Укажите поддомен на экспресс-пользовательский маршрут узла с помощью прокси-сервера Nginx

#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. Да, я заставил это работать с этим, я думаю, что забыл последний / когда пробовал этот. Спасибо