缘起

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. javaScript函数参数

    <p>查找函数中参数最大的数</p> <p id="demo"></p> <script> x = findMax(1, ...

  2. C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式.

    C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式. 目录: 1.多重继承在内存中的表现形式 多重继承在汇编中的表现形式 2.菱形继承 普通的菱形继承 虚继承 汇编中的表现形 ...

  3. mysql数据库的安装及体系说明

    第1章 MySQL介绍 1.1 数据的定义 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质.状态以及相互关系等进行记载的物理符号或这些物理符号的组合,是可识别.抽象的符号 1.2 数据 ...

  4. windows 怎样查看port占用情况

    開始--执行--cmd 进入命令提示符 输入netstat -ano 就可以看到全部连接的PID 之后在任务管理器中找到这个PID所相应的程序假设任务管理器中没有PID这一项,能够在任务管理器中选&q ...

  5. 哈希表(散列)HashTable实现

    近期刷Leetcode发现凡是找字符串中反复字符或者数组中找反复数据的时候就不知道从何下手了. 所以决定学习一下哈希表解题.哈希表的原理主要是解决分类问题,hash表是介于链表和二叉树之间的一种中间结 ...

  6. 结合源代码分析android的消息机制

    描写叙述 结合几个问题去看源代码. 1.Handler, MessageQueue, Message, Looper, LocalThread这5者在android的消息传递过程中扮演了什么样的角色? ...

  7. telematics product and company in China

    持续更新中. 总的来看后装OBD市场日渐繁荣,可是应用深度不够:前装infotainment受限于产量和商业模式,举步维艰. 车联网作为汽车信息化的起点,会有泡沫,也会在大数据和物联网的浪潮中逐步积淀 ...

  8. Objective-C 和 Swift 混编项目的小 Tips(一)

    本文主要闲聊一些 Objective-C 和 Swift 混编项目带来的一些潜规则,希望能帮到对此感到疑惑的朋友.下面我们开始进入主题: 命名 官方 Guide 上只是简单叙述(Using Swift ...

  9. 自学Zabbix3.6.4-触发器triggers dependencies依赖关系

    有时,一个主机的可用性取决于另一个主机.如果路由器坏了,某个路由器后面的服务器就会变得不可访问.对于两个主机都配置了触发器,您可能会收到两个主机的通知,而只有路由器是有罪的一方.这是主机之间的一些依赖 ...

  10. python集合增删改查,深拷贝浅拷贝

    集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系 ...