Приветствую Всех!<br><br>Максим, огромнейшее вам спасибо. Перехват 497 ошибки сделал именно то что мене было необходимо!<br><br><div class="gmail_quote">2009/7/2 Maxim Dounin <span dir="ltr">&lt;<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello!<br>
<div class="im"><br>
On Thu, Jul 02, 2009 at 01:10:12PM +0300, LinCore wrote:<br>
<br>
&gt; Преветствую Генадий,<br>
&gt;<br>
&gt; Как в таком случае можно оргонизовать редиерк в случае если человек ошибочно<br>
&gt; набрал в адрессной строке http вместо https?<br>
&gt;<br>
&gt; Но основное условие это чтобы фронтэнд был не на 80 или 443 порту(они заняты<br>
&gt; уже).<br>
<br>
</div>Если человек набрал <a href="http://example.com:8081/" target="_blank">http://example.com:8081/</a>, а на 8081 порту<br>
живёт https - будет сгенерирована (нестандартная) ошибка 497.<br>
Соответственно на нее надо повестить error_page с редиректом,<br>
как-то так:<br>
<br>
    error_page  497  <a href="https://example.com:8081/" target="_blank">https://example.com:8081/</a>;<br>
<font color="#888888"><br>
Maxim Dounin<br>
</font><div><div></div><div class="h5"><br>
&gt;<br>
&gt; 2009/7/1 Gena Makhomed &lt;<a href="mailto:gmm@csdoc.com">gmm@csdoc.com</a>&gt;<br>
&gt;<br>
&gt; &gt; On Tuesday, June 30, 2009 at 18:48:12, LinCore wrote:<br>
&gt; &gt;<br>
&gt; &gt; L&gt; Возникла необходимость сделать ssl бэкэнд с фонтэндом на основе<br>
&gt; &gt; L&gt; nginx, но используя нестандартный порт (например 8081).<br>
&gt; &gt;<br>
&gt; &gt; L&gt; Пример конфигурационого фаила:<br>
&gt; &gt; L&gt; cat nginx.conf<br>
&gt; &gt;<br>
&gt; &gt; L&gt;  server {<br>
&gt; &gt;<br>
&gt; &gt; L&gt;     listen       some_ip:8081;<br>
&gt; &gt;<br>
&gt; &gt; L&gt;     server_name some_name_tld;<br>
&gt; &gt;<br>
&gt; &gt; L&gt;     ssl          on;<br>
&gt; &gt;<br>
&gt; &gt; L&gt;     rewrite ^ https://$server_name:$server_port$request_uri redirect;<br>
&gt; &gt;<br>
&gt; &gt; [...]<br>
&gt; &gt;<br>
&gt; &gt; L&gt; И в такой конфигурации редирект который я использую не работает,<br>
&gt; &gt; L&gt; причем если фронтэнд повесить на 80 порт то всё начинает работать как<br>
&gt; &gt; надо.<br>
&gt; &gt;<br>
&gt; &gt; если в конфигурации написано listen some_ip:8081; ssl on;<br>
&gt; &gt; - то это уже &quot;http over ssl&quot;. ничего редиректить не надо.<br>
&gt; &gt;<br>
&gt; &gt; если попробовать обратиться по http-протоколу на https порт,<br>
&gt; &gt; <a href="http://example.com:443/" target="_blank">http://example.com:443/</a> то nginx вернет сообщение об ошибке:<br>
&gt; &gt;<br>
&gt; &gt; ==============================================<br>
&gt; &gt;<br>
&gt; &gt; 400 Bad Request<br>
&gt; &gt;<br>
&gt; &gt; The plain HTTP request was sent to HTTPS port<br>
&gt; &gt;<br>
&gt; &gt; ==============================================<br>
&gt; &gt;<br>
&gt; &gt; поэтому для plain http нужно выделять отдельный порт,<br>
&gt; &gt; например, так: 80 - plain http, 443 - http over ssl.<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt; Best regards,<br>
&gt; &gt;  Gena<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
<br>
</div></div></blockquote></div><br>