Nginx config - передать запрос из поддомена в путь с аргументом, регулярное выражение в местоположении

У меня есть server view.example.com, и я должен принять такой запрос: view.example.com/1234 - домен + 4 числа/письма.

То, что я хочу сделать, - proxy_pass запрос на мою местную службу по адресу: 192.168.33.10/view/1234

Как написать конфигурацию nginx для:

  • заботиться только о запросах, которые соответствуют регулярному выражению (4 числа/буквы)
  • передайте запрос к моей службе.

Пока у меня есть:

server {
 server_name view.example.com;
 listen 80;

 location ~ '^/(?<hash>[a-zA-Z0-9\-_]{4})/?$' {
 # rewrite - which I should probably use but not sure how
 proxy_pass http://192.168.33.10/view/;
 }
}
</hash>

Arek

1 ответ

просто проверил это:

server {
 server_name view.example.com;
 listen 80;

 location ~ '^/(?<hash>[a-zA-Z0-9\-_]{4})/?$' {
 rewrite ^ /view/$hash break;
 proxy_pass http://192.168.33.10;
 }
}
</hash>

и, похоже, это трюк - любые лучшие решения?

Arek

licensed under cc by-sa 3.0 with attribution.