缘起

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中是不行的。

跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建的更多相关文章

  1. 新能力 | 云开发CMS内容管理系统,5分钟搞定小程序管理后台

    小程序·云开发的云调用能力,让用户可以免鉴权快速调用微信的开放能力,极大节约了开发成本.现在,大家期待已久的云开发 CMS 内容管理系统,终于上线啦!顺便提示,接下来还可以二次开发哦! 云开发 CMS ...

  2. bitcms内容管理系统 3.1版源码发布

    开源bitcms内容管理系统采用ASP.NET MVC5+MySql的组合开发,更适应中小型系统低成本运行. bitcms的主要功能 1.重写了APS.NET MVC的路由机制.bitcms使用路由参 ...

  3. Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作

    Visual Studio 2017中使用正则修改部分内容   最近在项目中想实现一个小工具,需要根据类的属性<summary>的内容加上相应的[Description]特性,需要实现的效 ...

  4. [web开发] 利用微信小程序开发上海大学失物招领平台

    我从开始学微信小程序到最后完全写完这个小程序耗时四天,可以说开发难度非常之低,门槛也非常低,之前从来没接触过微信小程序,重新写下开发记录. 先放图: 1.前端开发 前端我用到了iview的ui框架,因 ...

  5. 2-微信小程序开发(开发界面说明,按钮点击切换显示内容)

    说一个功能,大家在用微信实现控制设备的时候,是不是都在为绑定设备发愁. 我看了很多厂家的微信控制,大部分都只是可以用微信给设备配网,但是没有做用微信绑定的. 一般做绑定都是用设备的MAC地址. 这里我 ...

  6. 小程序开发 解析内容中unicode转中文编码显示问题

    如果对你有帮助的话麻烦点个[推荐]~最好还可以follow一下我的GitHub~感谢观看! 小程序后台返回数据的时候,html内容是经过unicode编码的不能直接显示,里边全是类似&#xxx ...

  7. 小程序开发中,纯css实现内容收起折叠功能

    不多说,直接上代码: wxml页面: <!--收起折叠 begin--> <view style='width:100%;background:#fff;border-top:1px ...

  8. bitcms-比特内容管理系统 3.1版源码发布

    bitcms比特内容管理系统,经过几个版本的更新和客户的使用已经基本上完善了.下面主要介绍下他的运行环境和功能. 一.运行环境:windows server+IIS bitcms采用Entity Fr ...

  9. 利用WordPress REST API 开发微信小程序从入门到放弃

    自从我发布并开源WordPress版微信小程序以来,很多WordPress网站的站长问有关程序开发的问题,其实在文章:<用微信小程序连接WordPress网站>讲述过一些基本的要点,不过仍 ...

随机推荐

  1. BP算法从原理到python实现

    BP算法从原理到实践 反向传播算法Backpropagation的python实现 觉得有用的话,欢迎一起讨论相互学习~Follow Me 博主接触深度学习已经一段时间,近期在与别人进行讨论时,发现自 ...

  2. PHPstorm 函数时间注释的修改

    正常的PHPstorm里面函数方法的注释是没有动态时间设置的,但是看了PHP file里面有时间日期的注释,而PHP Function Doc Comment 却没有,让很多PHPer很头疼,今天在搜 ...

  3. springmvc关于前台日期作为实体类对象参数类型转换错误

    页面报错: 后台错误: Field error in object 'user' on field 'birthday': rejected value [2013-06-24]; codes [ty ...

  4. 前端备忘录--JQuery选择器

    基本选择器 基本选择器是最常用的选择器,也是最简单的选择器. $("#test") //选取id为test的元素 $(".test") //选取class为te ...

  5. HDU 4162 Shape Number(字符串,最小表示法)

    HDU 4162 题意: 给一个数字串(length <= 300,000),数字由0~7构成,求出一阶差分码,然后输出与该差分码循环同构的最小字典序差分码. 思路: 第一步是将差分码求出:s[ ...

  6. 2014/08/23——OJ及相关站点打开速度非常慢,训练计划login直接error!

    问题: 这个问题存在已经将近一个星期了.刚開始时发现OJ及相关的站点有时候打开有点慢,那时候也没在意,后来时快时慢的越来越频繁:今天早上直接一直都打开非常慢(无论什么时候.这样的情况);训练计划和做题 ...

  7. Maven实战(九)——打包的技巧

    "打包"这个词听起来比較土.比較正式的说法应该是"构建项目软件包".详细说就是将项目中的各种文件,比方源代码.编译生成的字节码.配置文件.文档,依照规范的格式生 ...

  8. POJ 1469(裸二分匹配)

    COURSES Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18993   Accepted: 7486 Descript ...

  9. 参照企业微信审批业务,在Winform开发框架中工作流模块的实现业务审批

    目前微信的企业号已经切换到企业微信里面,这个是一个APP程序,提供了很丰富的企业应用,其中包括了业务审批处理,审批业务包括请假.报销.费用.出差等很多个审批场景,在Winform开发框架中工作流模块这 ...

  10. System.out.println()的解释

    上周面试的时候,面试官让我解释一下输出语句每一个单词是什么意思.当是有点蒙,后来想想这不就是考察对java中常用的的包,类和其中的方法的熟悉程度吗? 我们首先来看看System:这是一个类名,存在于j ...