<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>大蕉 &#187; 虚拟主机</title>
	<atom:link href="http://daozhao.goflytoday.com/tag/%e8%99%9a%e6%8b%9f%e4%b8%bb%e6%9c%ba/feed/" rel="self" type="application/rss+xml" />
	<link>http://daozhao.goflytoday.com</link>
	<description>大蕉，一种有益的水果。不过本blog并不是介绍大蕉。哈哈</description>
	<lastBuildDate>Tue, 31 Jan 2012 12:56:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>虚拟主机使用免费的自签SSL证书并应用到子域名</title>
		<link>http://daozhao.goflytoday.com/2010/01/web-hosting-ssl/</link>
		<comments>http://daozhao.goflytoday.com/2010/01/web-hosting-ssl/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 03:47:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[hostmonster]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[子域名]]></category>
		<category><![CDATA[虚拟主机]]></category>
		<category><![CDATA[证书]]></category>

		<guid isPermaLink="false">http://daozhao.goflytoday.com/?p=707</guid>
		<description><![CDATA[好多朋友的网站都是使用虚拟主机的。在一些网站后台管理程序登录上需要用到SSL加密，已确保登录密码不会在网络传输中外泄。但是单单为了登录网站后台管理的时候使用ssl而向空间租用商... ]]></description>
			<content:encoded><![CDATA[<p>好多朋友的网站都是使用虚拟主机的。在一些网站后台管理程序登录上需要用到SSL加密，已确保登录密码不会在网络传输中外泄。但是单单为了登录网站后台管理的时候使用ssl而向空间租用商购买SSL证书，明显不太划算，每年要多付出45美元。其实大家都知道，SSL证书不一定要购买，可以自己生成。然后配置到服务器即可以。只是使用的时候浏览器会弹出对话框告诉你这个SSL证书不是专业机构颁发的。只要确认通过就可以。其它使用上没有太大区别的。<br />
由于我们虚拟主机用户不能修改apache的http.conf文件，所以大家不能通过ssh登录主机进行操作。只能通过cPanel操作。我是hostmonster用户，只能按照hostmonster说明给大家。这里是hostmonster的操作指南<a href="http://helpdesk.hostmonster.com/index.php/kb/article/000204" target="_blank">SSL Installation Instructions</a>。</p>
<p>首先要确认你的主机是否符合要求，首先你的主机需要有独立ip才可以使用SSL.如果没有独立ip只能使用<a href="http://helpdesk.hostmonster.com/index.php/kb/article/000426" target="_blank">共享SSL证书</a>https://secure.hostmonster.com/~yourunixusername。</p>
<p><span id="more-707"></span></p>
<p>安装SSL几个步骤。</p>
<p>1、在cpanel 进入 SSL/TLS manager 。<br />
2、生成Private Keys (KEY)，生成的时候需要选择你的主域名（PRIMARY domain）<br />
3、生成Certificate Signing Requests (CSR)<br />
4、生成Certificates (CRT)证书（这里的证书你可以自己生成，也就是自签证书，不要钱的。你也可以吧CSR等资料交给ssl证书生成商生成，这个是要钱的，有时候会有些免费1个月的免费证书）<br />
5、通知hostmonster管理人员帮助你安装证书到服务器。这个只要你提交工单（Open A Ticket）给hostmonster就可以了。</p>
<p>当管理员完成安装后，你就可以通过https的链接访问你的网站了(例如：https://www.yourDomain.com)。如果你使用的证书是自签证书，浏览器提示证书有问题，点击继续就可以了。如果你比钱买了证书就当然没有这个提示啦。</p>
<p>这下爽了吧。不给钱都可以使用SSL证书，哈哈。不过你还别开心的太早，因为这个证书只是对主域名有效，如果你有使用子域名，那样对于用https访问子域名是没有效的。其实这也是正常的，因为根据https的协议一个ip只能对应一个域名。但是我有点不死心，因为我的blog是使用子域名访问的。我需要https可以访问到子域名。而且我知道一个网站的证书可以用到别的网站上的。最多浏览器提示你的证书来源是别的网站，对于我来说只是为了后台登陆使用ssl。这提示并没有问题，只要添加例外就可以了。于是我发出工单向hostmonst提出我想应用https到我的子域名的问题。不过给出的答复是不可以。</p>
<p>Unfortunately, there is no change we can make on the server that will make the SSL certificate work for the subdomain (<a style="color: #2a5db0;" href="http://daozhao.goflytoday.com/" target="_blank">https://daozhao.goflytoday.com</a> ); the SSL certificate will work for the domain root ( <a style="color: #2a5db0;" href="http://goflytoday.com/" target="_blank">https://goflytoday.com</a> ) and www subdomain (<a style="color: #2a5db0;" href="http://www.goflytoday.com/" target="_blank">https://www.goflytoday.com</a> ) only.</p>
<p>当我看到这个回复的时候比较无奈，不过我还是不死心，根据我的知道的https和ssl的原理，应该可以结合apache的mod_rewrite来实现对于这个子域名支持的。经过思考和尝试，终于可以通过mod_rewrite实现https对子域名的支持。</p>
<pre>#daozhao.goflytoday.com
#把下边的daozhao.goflytoday.com域名改成你的域名
RewriteCond %{HTTP_HOST} ^daozhao.goflytoday.com$
#daozhao 改成你的子域名工作的目录
RewriteCond %{REQUEST_URI} !^/daozhao/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#daozhao 改成你的子域名工作的目录
RewriteRule ^(.*)$ /daozhao/$1

#把下边的daozhao.goflytoday.com域名改成你的域名
RewriteCond %{HTTP_HOST} ^daozhao.goflytoday.com$
#daozhao 改成你的子域名工作的目录
RewriteRule ^(/)?$ daozhao/ [L]</pre>
<p>对于子域名的访问，浏览器第一次访问肯定会弹出证书有问题的说明，无论你是自签证书还是购买的证书。只有添加例外就可以了。<br />
对于这种自签证书和通过上边的mod_rewrite方式去支持子域名的方法，不太适合对于公众服务的登录和其他加密页面。浏览器弹出个对话框提示挺吓人的。但是对于一些只是网站内部管理的登录部分使用该方法还是不错的，没有必要花费每年45美元。<br />
<h3>看看其它文章</h3>
<ul class="related_post"></ul>
<div><a class="addthis_button" href="//addthis.com/bookmark.php?v=250" addthis:url='http://daozhao.goflytoday.com/2010/01/web-hosting-ssl/' addthis:title='虚拟主机使用免费的自签SSL证书并应用到子域名 '><img src="//cache.addthis.com/cachefly/static/btn/v2/lg-share-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0"/></a></div>]]></content:encoded>
			<wfw:commentRss>http://daozhao.goflytoday.com/2010/01/web-hosting-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

