<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Snooda]]></title> 
<link>http://www.snooda.com/index</link> 
<description><![CDATA[Snooda's Blog]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Snooda]]></copyright>
<item>
<link>http://www.snooda.com/read/</link>
<title><![CDATA[nginx强制使用https（http到https自动跳转]]></title> 
<author>snooda &lt;admin@snooda.com&gt;</author>
<category><![CDATA[nginx]]></category>
<pubDate>Sun, 11 Mar 2012 02:45:04 +0000</pubDate> 
<guid>http://www.snooda.com/read/</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;nginx对于使用http访问开启了https的站点会返回400.而浏览器输入网址默认是http的，每次都要去改成https很烦，于是考虑自动跳转的方法，刚开始用的$scheme变量判断，如果不是https则跳转。发现无效。<br/>&nbsp;&nbsp;&nbsp;&nbsp;搜了一下，网上的一大抄们都表示rewrite (.*）https://$host/$1 permanent;可以，光目标地址没考虑端口号就让人感觉不是特别靠谱。试了下，果然不行。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;想了下，应该是在一开始就被判断出异常，根本没有往后走的缘故。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这时找到一个方法：error_page 497 https://$host:$server_port$request_uri;<br/>&nbsp;&nbsp;&nbsp;&nbsp;497表示使用http连接https的错误码。一旦出错让其跳转到https。<br/>&nbsp;&nbsp;&nbsp;&nbsp;搞定<br/>Tags - <a href="http://www.snooda.com/tags/nginx/" rel="tag">nginx</a> , <a href="http://www.snooda.com/tags/http/" rel="tag">http</a> , <a href="http://www.snooda.com/tags/https/" rel="tag">https</a> , <a href="http://www.snooda.com/tags/error_page/" rel="tag">error page</a> , <a href="http://www.snooda.com/tags/rewrite/" rel="tag">rewrite</a>
]]>
</description>
</item><item>
<link>http://www.snooda.com/read/#blogcomment</link>
<title><![CDATA[[评论] nginx强制使用https（http到https自动跳转]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.snooda.com/read/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>