微信小程序阿里云服务器https搭建

已更新 2018-11-20

1.什么是https?
HTTPS(全称:安全套接字层上的超文本传输​​协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL ,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输.https:URL表明它使用了HTTP,但HTTPS存在不同在HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

2.如何在阿里云服务器上申请SSL证书?

在阿里云上注册了域名和购买了云服务器ECS,ECS的配置是弹性的,可以根据自己的需要来选择合理的配置,如果你是个初学者为了学习用的话,一开始选择最低配置就行了。

因为在小程序的生产环境中,为了安全考虑,调用服务器的REST API或WebSocket的话,服务器必须提供安全的链接地址(如mydomain / myservice,wss:// mydomian),即需要使用SSL。所以我们需要为我们的服务器购买SSL证书和域名。

 

在阿里云上注册域名还是很方便的,可以到wanwang.aliyun.com这个页面去注册一个。而SSL证书,很多国内外机构都提供证书签发认证,国内的比如沃通,国外的如赛门铁克,这个证书还是有点贵的,根据证书的不同功能,价格也是相差很大,最便宜的也要好几百一年。现在也有免费的证书可以使用,比如让我们加密。不过,阿里云上也提供了免费的证书,申请起来很方便,我们就来看看怎么申请阿里云里的免费证书。

从阿里云的页面顶部菜单“产品>>>安全”里面,可以看到“SSL证书”:

微信小程序阿里云服务器https搭建_第1张图片

 

SSL证书服务界面

进入页面后,点击页面的“立即购买”按钮,进入证书选择界面:

微信小程序阿里云服务器https搭建_第2张图片

证书选择

 

在这里可以选择“免费型DV SSL”证书,这种证书购买一个证书只能对一个明细域名生效,也就是说如果你有几个子域名,如blog.mydomain.com,www.mydomain.com,shop .mydomain.com来的话,你分别需要购买3个证书。

购买完成后,进入证书控制台,点击申请,填写信息,验证,提交,等待审核即可。

 

 

微信小程序阿里云服务器https搭建_第3张图片

 

购买完成后,输入要绑定这个证书的域名,以及你的个人详细信息等等,提交给签发机构审核,审核完成后,你之前填写的邮箱里也会收到一封如何设置的邮件(这个邮件主要是给域名不是在阿里云注册的用户的设置指南,如果域名在阿里云注册,则会自动对你的域名添加解析记录,不需要你手动去添加)。

证书签发后,请点击“下载”证书文件的按钮,下载证书文件,里面包含了一些对于不同的http服务器用的证书,如apache,nginx,IIS等,它们用于配置你服务器上安装的http服务器。

我是apache的服务器,所以我下载的是apache的证书。

微信小程序阿里云服务器https搭建_第4张图片

SSL证书安装指南

阿里云文档:https://help.aliyun.com/knowledge_detail/95505.html?spm=5176.2020520154.0.0.45d356a7jzTz03

 

Nginx服务器SSL证书安装指南

Apache服务器SSL证书安装指南

Tomcat服务器SSL证书安装指南

IIS服务器SSL证书安装指南

Jetty服务器SSL证书安装指南

 

 注意:这里的证书路径一定要改,不是直接使用他的路径,一定要按照自己的Apache的服务器安装路径来;

3.关于的httpd-ssl.conf中文件的修改

 

第一步:修改Apache的目录下的的conf下的httpd.conf的配置文件

1,#LoadModule ssl_module modules / mod_ssl.so删除行首的配置语句注释符号“#”

2,增加一条引用语句包括conf / vhostssl.conf

第二步:

1:在apache的目录下创建证书文件夹,将下载的证书解压到证书文件夹里一共解压出4个文件

2,在的conf文件夹中创建一个vhostssl.conf配置文件。

3,编辑vhostsssl.conf文件,增加如下内容:

微信小程序阿里云服务器https搭建_第5张图片

其中

SSLCertificateFile 是指证书公钥证书里有一个以public为名字且后缀是crt的

SSLCertificateKeyFile   是指证书私钥 在下载的证书里有一个以一串数字为名字且后缀是key的

SSLCertificateChainFile  是指证书链 有一个以chain为名字且后缀是crt的

DocumentRoot  "/"这是网站路径根据自己的目录填写

保存重启服务器(有可能报错,看一下443端口是否被防火墙拦截或被占用)

apache正常重启后,以https访问,在浏览器里面输入https://yourdomain.com(yourdomain.com改为你设置绑定的域名)即可。

4.http自动转换为HTTPS的方法,为了强制用户使用加密链接,防止通过HTTP打开

先打开的Apache的重写功能。

1.Apahce的配置方法,简单来说就是配置一个301重定向,需要在你的网站根目录下的的.htaccess文件

针对固定一个域名进行重定向:RewriteCond%{SERVER_PORT}
上的
RewriteEngine!^ 443 $
RewriteCond%{HTTP_HOST} ^ api.doysu.net

RewriteRule ^(。*)$ https://api.doysu.net [R = 301,L]

针对整站进行重定向:

RewriteEng on
RewriteCond%{SERVER_PORT}!^ 443 $
RewriteRule ^(。*)?$ https://%{SERVER_NAME} / $ 1 [L,R = 301]

 

对某个目录做HTTPS强制跳转:

上RewriteEngine叙述
RewriteBase /你的目录名称
的RewriteCond%{SERVER_PORT} ^ 443 $!
#RewriteRule ^ $ HTTPS(*)://%{SERVER_NAME} / 1 $ [L,R]
重写规则^ * $ HTTPS:// %{SERVER_NAME}%{REQUEST_URI} [L,R]

 

 

你可能感兴趣的:(微信小程序阿里云服务器https搭建)