У нас есть несколько поддоменных подстановочных знаков (_foo.example.com, bar.example.com и т. Д.), Которые при обращении по HTTPS должны перенаправлять на эквивалентный поддомен в нашем защищенном домене.
Некоторые примеры:
Я думаю, что это может быть достигнуто с помощью перезаписей nginx, но я не уверен насчет синтаксиса.Вот что я пытаюсь сделать:
server { listen 443; server_name *.example.com; rewrite ^(.*) https://*.secure.com$1 permanent; }
Это явно не сработает, потому что я не перехватываю входящий поддомен и не использую его при перезаписи.
Попробуйте что-то вроде этого (не проверено):
server { listen 80; listen 443 default ssl; server_name "~^(?<name>\w\d+)\.example\.com$"; rewrite ^(.*) https://$name.secure.com$1 permanent; }
Нашел это на http://forum.slicehost.com/comments.php?DiscussionID=730
# redirects arbitrary subdomain (some.random.sub.example.com) to (some.random.sub.example.org) if ($host ~* "^([^.]+(\.[^.]+)*)\.example.com$"){ set $subd $1; rewrite ^(.*)$ http://$subd.example.org$1 permanent; break; } # Simply redirects example.com to example.org if ($host ~* "^example.com$"){ rewrite ^(.*)$ http://example.org$1 permanent; break; }