Re: Проблема с редиректом http на https.

LinCore dvl.lincore at gmail.com
Thu Jul 2 17:28:03 MSD 2009


Приветствую Всех!

Максим, огромнейшее вам спасибо. Перехват 497 ошибки сделал именно то что
мене было необходимо!

2009/7/2 Maxim Dounin <mdounin at mdounin.ru>

> Hello!
>
> On Thu, Jul 02, 2009 at 01:10:12PM +0300, LinCore wrote:
>
> > Преветствую Генадий,
> >
> > Как в таком случае можно оргонизовать редиерк в случае если человек
> ошибочно
> > набрал в адрессной строке http вместо https?
> >
> > Но основное условие это чтобы фронтэнд был не на 80 или 443 порту(они
> заняты
> > уже).
>
> Если человек набрал http://example.com:8081/, а на 8081 порту
> живёт https - будет сгенерирована (нестандартная) ошибка 497.
> Соответственно на нее надо повестить error_page с редиректом,
> как-то так:
>
>    error_page  497  https://example.com:8081/;
>
> Maxim Dounin
>
> >
> > 2009/7/1 Gena Makhomed <gmm at csdoc.com>
> >
> > > On Tuesday, June 30, 2009 at 18:48:12, LinCore wrote:
> > >
> > > L> Возникла необходимость сделать ssl бэкэнд с фонтэндом на основе
> > > L> nginx, но используя нестандартный порт (например 8081).
> > >
> > > L> Пример конфигурационого фаила:
> > > L> cat nginx.conf
> > >
> > > L>  server {
> > >
> > > L>     listen       some_ip:8081;
> > >
> > > L>     server_name some_name_tld;
> > >
> > > L>     ssl          on;
> > >
> > > L>     rewrite ^ https://$server_name:$server_port$request_uri
> redirect;
> > >
> > > [...]
> > >
> > > L> И в такой конфигурации редирект который я использую не работает,
> > > L> причем если фронтэнд повесить на 80 порт то всё начинает работать
> как
> > > надо.
> > >
> > > если в конфигурации написано listen some_ip:8081; ssl on;
> > > - то это уже "http over ssl". ничего редиректить не надо.
> > >
> > > если попробовать обратиться по http-протоколу на https порт,
> > > http://example.com:443/ то nginx вернет сообщение об ошибке:
> > >
> > > ==============================================
> > >
> > > 400 Bad Request
> > >
> > > The plain HTTP request was sent to HTTPS port
> > >
> > > ==============================================
> > >
> > > поэтому для plain http нужно выделять отдельный порт,
> > > например, так: 80 - plain http, 443 - http over ssl.
> > >
> > > --
> > > Best regards,
> > >  Gena
> > >
> > >
> > >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090702/8939e110/attachment.html>


More information about the nginx-ru mailing list