Пренасочване на HTTP заявки към ELB към HTTPS за множество домейни

Имам въпрос, много подобен на този пост: https://stackoverflow.com/questions/24603620/redirecting-ec2-elb-from-http-to-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