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,请自行百度,其实就是重定向而已;
最后,最重要的一点:学网页设计到合肥多元速网页设计培训公司