Я действительно плохо разбираюсь в регулярном выражении. Я пытаюсь сделать это в nginx:
stream {
map $ssl_preread_server_name $name {
api.dom1.com dom1_backend;
*.dom2.com dom2_backend;
}
upstream dom1_backend {
server api.dom1.com:443;
}
upstream dom2_api_backend {
server *.dom3.com:443;
}
server {
listen 443;
proxy_pass $name;
ssl_preread on;
}
}
Как заставить работать dom2? Мне просто нужно сопоставить домен с подстановочными знаками обратно в домен с подстановочными знаками.
Что угодно означает: * .dom2.com перейдет на * .dom3.com
Чтобы использовать имена хостов, вы должны указать специальный hostnames
параметр для map
. Это позволяет интерпретировать подстановочные знаки звездочки ожидаемым образом.
map $ssl_preread_server_name $name {
hostnames;
api.dom1.com dom1_backend;
*.dom2.com dom2_backend;
}