Перенаправление HTTP-запросов к ELB на HTTPS для нескольких доменов

У меня вопрос, очень похожий на этот пост: Перенаправление EC2 elb с http на https < / а>

Я использую NGINX и хочу перенаправить все HTTP-запросы к своим серверам на HTTPS. Что, как указано в приведенном выше сообщении, может быть достигнуто с помощью:

if ($http_x_forwarded_proto = 'http') {
    return 301 https://example.com$request_uri;
}

Однако я хочу подробнее остановиться на этом:
-Если пользователь переходит на
http://example.com, Я хочу, чтобы они были перенаправлены на https://example.com.
-Если они перейдут на http://www.example.com Я хочу, чтобы они перенаправлялись на https://www.example.com.
-Если пользователь переходит на http://some-sub-domain.example.com, я хочу, чтобы они были перенаправлены на https://some-sub-domain.example.com

Причина, по которой я хочу этого добиться, заключается в том, что я обслуживаю несколько доменов с одних и тех же серверов. У каждого из моих клиентов будет свой поддомен, однако мое приложение обслуживается с одних и тех же серверов.

Любая помощь или руководство приветствуются! :)


person mickzer    schedule 04.09.2015    source источник


Ответы (1)


Оказывается, это действительно просто, и это можно сделать с помощью переменной NGINX $host:

if ($http_x_forwarded_proto = 'http') {
    return 301 https://$host$request_uri;
}
person mickzer    schedule 05.09.2015