
https 听着就高大上。今天,我们也用阿里云搭建个!
概述:
微信小程序的到来,必将掀起一波狂潮,但是搭建微信小程序,小程序的接口必须使用https接口,所以这必然给新手带来一定的难度,不知道怎么搭建,合肥网站建设公司多元速科技在这里演示如何使用阿里云ECS服务器搭建https,为什么使用阿里云,因为阿里云申请证书很方便还提供了免费证书,拿到即用,省去证书申请和转换和配置的烦恼,给新手带来福音,废话不多说,下面开始教大家如果配置HTTPS;
ps:多元速科技承接各类小程序应用开发,如需要开发,可以联系我们 0551-65118915
1.什么是https?
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
2.如果在阿里云服务器上申请ssl证书?
1).首先进入阿里云服务器,选择产品与服务->证书服务,后点击购买证书:

2).选择免费型DV SSL证书进行购买证书:

3).购买后返回 产品与服务->证书服务 点击 补全信息,这里绑定一个你的域名,按照操作来就行了,然后到域名解析里面,做个cname域名解析(补全信息后会给你提示,按照操作来就行了,这里审核会有一定的时间,大概半个小时左右)
4).点击下载证书,我这边是Apache的服务器,所以我下载的是Apache的证书,下面画圈的都是重点;


注意:这里的证书路径一定要改,不是直接使用他的路径,一定要按照自己的Apache服务器安装路径来;
3.关于httpd-ssl.conf文件的修改
0).在做修改前一定要先做这1步骤,打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到下面2行 去除前面得 # 号
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件) #Include conf/extra/httpd_ssl.conf
1).首先把刚才下载的证书解压到conf文件夹中(看下图),我这边为了方便管理,建立一个ssl文件夹用于存放ssl证书的

2).打开conf下面得extra文件夹,找到httpd-ssl.conf文件

3).下面进行httpd-ssl.conf文件的修改,这里一定要注意,wamp中httpd-ssl.conf的Apahce默认路径是c盘路径(不是wamp也没事,打开httpd-ssl.conf看下里面得路径就行了,修改下就好了),我这里是E:/wamp/bin/apache/Apache2.2.21/,所以全部替换下就行了;下面是我的修改文件,大家可以参考下,请不要直接复制使用,要根据自己的文件路径修改,包括里面得秘钥名称加秘钥路径
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:E:/wamp/bin/apache/Apache2.2.21/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
SSLMutex default
<VirtualHost _default_:443>
DocumentRoot "E:\wamp\www"
ServerName api.banse.ren:443
ServerAdmin admin@example.com
ErrorLog "E:/wamp/bin/apache/Apache2.2.21/logs/error.log"
TransferLog "E:/wamp/bin/apache/Apache2.2.21/logs/access.log"
SSLEngine on
#---------阿里云的配置参数-----------------
#添加 SSL 协议支持语句,关闭不安全的协议和加密套件
SSLProtocol all -SSLv2 -SSLv3
#修改加密套件如下
SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
SSLCertificateFile "E:/wamp/bin/apache/Apache2.2.21/conf/ssl/public.pem"
SSLCertificateKeyFile "E:/wamp/bin/apache/Apache2.2.21/conf/ssl/213983008100163.key"
SSLCertificateChainFile "E:/wamp/bin/apache/Apache2.2.21/conf/ssl/chain.pem"
#---------阿里云的配置参数 end-----------------
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "E:/wamp/bin/apache/Apache2.2.21/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "E:/wamp/bin/apache/Apache2.2.21/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
注意:上面的代码其实就是https的虚拟主机文件,下面是上面代码的网站核心地方需要注意的地方,我特意标起来了,大家按照自己的修改就行了
<VirtualHost _default_:443>
这里面其实是一个虚拟主机,是https的虚拟主机;如果多个虚拟主机,自己建多个就行了
DocumentRoot "E:\wamp\www" 你的网站目录
ServerName api.doysu.net:443 你的网站域名
</VirtualHost>
4.http自动转换为https的方法,为了强制用户使用加密链接,不然你会发现,通过http也能打开
0).请先打开Apache的Rewrite功能,这个要是不会,请您百度下,这个简单的东西就不多说了;
1).下面介绍下Apahce的配置方法,简单来说就是配置一个301重定向,需要在你的网站根目录下的.htaccess文件
1:下面是针对固定一个域名进行重定向
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_HOST} ^api.doysu.net
RewriteRule ^(.*)$ https://api.doysu.net [R=301,L]
2:下面是针对整站进行重定向
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R=301]
3:如果对某个目录做https强制跳转,则复制以下代码:
RewriteEngine on
RewriteBase /你的目录名称
RewriteCond %{SERVER_PORT} !^443$
#RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
2).其他服务器比如IIS或者Tomcat,请自行百度,其实就是重定向而已;
最后,最重要的一点:学网页设计到合肥多元速网页设计培训公司
