Xpoint
   [напомнить пароль]

Настройка HTTPS для определенной папки

Метки: [без меток]
2015-11-20 02:49:17 [обр] tcolonel[досье]

Доброго здравия уважаемые гуру,

подскажите пожалуйста, как можно настроить HTTPS для определенной папки и всех вложенных папок с помощью конфига nGinx?

Вводные данные такие сайт работает как по HTTP, так и по HTTPS, но, необходимо настроить работу HTTPS только на определенные папки.

Вот это работает (частный случай),

if( -f $docroot/$request_key/.htsecure )
{
   rewrite ^(.*)$ https://www.mysite.ru$1 permanent;
}

но, впоследствии весь сайт работает через HTTPS, а нужно чтобы был редирект на HTTP: т.е, заходим в папку "/qustions/" - переходим на HTTPS, заходи в папку "/questions/add/" - переходим на HTTPS ... Заходим на любую другую папку сайта - переходим на HTTP.

Спасибо за внимание.

спустя 15 дней [обр] Евгений Седов aka KPbIC(6/187)[досье]
Шифрованный канал устанавливается до того, как будет распарсен URL, поэтому то, что вы хотите, невозможно.
спустя 16 часов [обр] Marat Tanalin(0/78)[досье]
Евгений, насколько я понимаю, задача в том, чтобы при открытии страницы по нешифрованному HTTP, перенаправлять на HTTPS, но только для определённых путей.
спустя 9 часов [обр] Евгений Седов aka KPbIC(6/187)[досье]

Тогда, надо в секции сервера на 443 обратный реврайт для корня сделать.

Хотя я не понимаю зачем давать нешифрованный доступ, учитывая общую тенденцию c HTTP2.

спустя 1 день 2 часа [обр] tcolonel[досье]
Евгений, насколько я понимаю, задача в том, чтобы при открытии страницы по нешифрованному HTTP, перенаправлять на HTTPS, но только для определённых путей.

Все верно.

Тогда, надо в секции сервера на 443 обратный реврайт для корня сделать.

Евгений, а можно подробнее?

спустя 1 час 49 минут [обр] Евгений Седов aka KPbIC(6/187)[досье]
То же самое, что вы сделали для HTTP, сделать для HTTPS, только в обратную сторону. Чтобы при попадании в открытую часть по HTTPS клиента реврайтило на HTTP.
спустя 23 часа [обр] tcolonel[досье]
То же самое, что вы сделали для HTTP, сделать для HTTPS, только в обратную сторону. Чтобы при попадании в открытую часть по HTTPS клиента реврайтило на HTTP.
Т.е так:
if(!-f $docroot/$request_key/.htsecure )
{
   rewrite ^(.*)$ http://www.mysite.ru$1 permanent;
}
спустя 1 день 9 часов [обр] Евгений Седов aka KPbIC(6/187)[досье]
Да, как-то так.
Powered by POEM™ Engine Copyright © 2002-2005