逐月 阅读(106) 评论(0)

缘起

1、从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家。可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少。古人说无志之人常立志,有志之人立长志。今天,就从学习小程序开始,记录在学习过程中的遇到点点滴滴,先做“无志之人常立志”吧。

强调的是,微信小程序开发,我也是从0到1的过程,肯定会有错误或遗漏,还望给指导指导,让我的学习知识更完善,再此先谢过了。

2、bitcms开源内容管理系统也发布了,运营对一个程序老猿来说,确实是个艰巨的任务。自己的想法很多,园子里的朋友也给了不少建议。

总结下来有二:一是bitcms内容管理系统不能是一个孤岛,要有围绕bitcms周边要有相应的应用。像短信接口,公众号接口,支付接口等。这些都是平常工作开发中常用到的,现在只需时间来整理优化后放出来;二是要推广。某度、某3、某条等付费推广,对屌丝作者我来说,想想都是奢饰。那只剩下一条路了,自己写应用技术软文,来慢慢浇灌吧。本小程序学习系列学习笔记,应该也算是一个吧。

下面来进入正题:IIS下SSL环境搭建

刚接触小程序的时候发现后台服务必须是https的时候。心想,腾讯这是要干吗,这是要增加接入门槛吗?随后对https的深入了解,慢慢发现腾讯的苦衷,互联网的安全,并不是只是程序员要考虑的,安全要从基础运行环境的开始。

一、SSL证书申请

提供SSL证书申请服务的有很多,大部分云服务提供商基本上都可以,价格也是从千到万应有尽有。作为屌丝,咱们肯定不是他们的菜。还好,有免费DV可以0元申请。对于安全要求不高,只是接入https的完全可以满足使用。对不差钱或对数据安全要求高的,推荐申请收费SSL证书。如有土豪愿意给我提供收费版SSL证书,请联系我,先谢过了。

下面是景安申请免费DV SSL证书的截图。申请填写域名信息并验证通过后,就可以下载证书了。下载证书后有个生成的个证书密码一个记下。证书导入IIS的时候需要使用这个密码。

1、申请证书

2、绑定域名

3、下载证书

下载的证书,景安的证书还是比较全的,apache,iis等都有,readme.txt是证书密码文本,放入一个压缩包内,避免丢失。

二、安装证书

服务器环境是:windows server 2008 r2 + IIS7

1、安装证书,打开IIS,如下图。找到服务器证书,打开 

2、导入证书,选择证书包里的iIS下证书文件,输入下载证书时的证书密码,请可以确定提交了。证书安装完成。

3、网站设置,添加网站或已有网站添加新绑定。绑定类型选择https,SSl证书选择刚才安装的证书,提交搞定。刚开始添加https绑定的时候,挺纳闷为什么主机名不让填写。后来果资料得知:原来IIS7一个服务器只允许一个https绑定。像bitcms.net主域名绑定https,不受影响。如果https绑定的是一个二级域名,只有修改IIS配置文件了

用记事本打开文件:C:\Windows\system32\inetsrv\config\applicationHost.config 注:如果系统盘不在C盘,请参照修改路径

找到

 <site name="bitcms.net" id="4" serverAutoStart="true">
     <application path="/" applicationPool="bitcms.net">
          <virtualDirectory path="/" physicalPath="D:\www\bitcms.net" />
  </application>
     <bindings>
        <binding protocol="https" bindingInformation="*:443:" />
    </bindings>
 </site>

修改为

 <site name="bitcms.net" id="4" serverAutoStart="true">
     <application path="/" applicationPool="bitcms.net">
          <virtualDirectory path="/" physicalPath="D:\www\bitcms.net" />
  </application>
     <bindings>
        <binding protocol="https" bindingInformation="*:443:bitcms.net" />
    </bindings>
 </site>

4、网站SSL设置,打开SSL设置

勾选要求SSL,客户证书,勾选接受。

三、301跳转设置

经过上面证书安装和网站设置,SSL网站基本上算是已经布置完成了。但是有一点不完美的地方,就是你在浏览器地址栏里输入域名如:bitcms.net,还是打不开网站,必须加上https://,这体验太不好了吧。那再设置一个301跳转,就完美了。下面就开始设置301跳转。如果您的证书使用的是二级域名,301跳转就不用设置了。

新建一个网站,物理路径最好单独设置一个文件夹。 添加普通http绑定,如下图绑定bitcms.net和www.bitcms.net两个域名。

打开HTTP重定向,设置如下图。将请求重写向到此目标填写:https//bitcms.net$S$Q,是域名后加$S$Q。重定向行为勾选第一个,状态代码选择永久(301)。

四、后记

至此,IIS环境下安装SSL证书已经完成。下面说说我在设置过程中遇到的坑。

1、网站SSL设置的时候客户证书,想当然的选择”必须“的啊,结果网站打开,浪费了很多时间在上面。

2、设置301重定向的坑。大家也看这个服务器上的另一个网站也设置了301,请把两个301物理路径些向一个地址,结果填写重定向些目标的时候,修改一个,另一个也跟着变。这应该是IIS BUG吧。

3、还有一个坑是,网上很多教程是从Internet属性->内容->证书里添加SSL证书,这个在IIS7中是不行的。