首页 > 网站建设 > 常见问题 > 微信小程序之阿里云服务器https搭建

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

+ -
摘要 微信小程序的到来,必将掀起一波狂潮,但是搭建微信小程序,小程序的接口必须使用https接口,所以这必然给新手带来一定的难度,不知道怎么搭建,这里演示如何使用阿里云ECS服务器搭建
概述:
    
微信小程序的到来,必将掀起一波狂潮,但是搭建微信小程序,小程序的接口必须使用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行 去除前面得 # 号
  1. #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件) 
  2. #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/,所以全部替换下就行了;下面是我的apache2.2修改文件,大家可以参考下,请不要直接复制使用,要根据自己的文件路径修改,包括里面得秘钥名称加秘钥路径


  1. Listen 443 
  2.  
  3.  
  4. AddType application/x-x509-ca-cert .crt 
  5. AddType application/x-pkcs7-crl    .crl 
  6.  
  7. SSLPassPhraseDialog  builtin 
  8.  
  9. SSLSessionCache          "shmcb:E:/wamp/bin/apache/Apache2.2.21/logs/ssl_scache(512000)" 
  10. SSLSessionCacheTimeout  300 
  11.  
  12. SSLMutex default 
  13.  
  14. <VirtualHost _default_:443> 
  15.  
  16. DocumentRoot "E:\wamp\www" 
  17. ServerName api.banse.ren:443 
  18. ServerAdmin admin@example.com 
  19. ErrorLog "E:/wamp/bin/apache/Apache2.2.21/logs/error.log" 
  20. TransferLog "E:/wamp/bin/apache/Apache2.2.21/logs/access.log" 
  21.  
  22. SSLEngine on 
  23.  
  24. #---------阿里云的配置参数-----------------
  25. #添加 SSL 协议支持语句,关闭不安全的协议和加密套件 
  26. SSLProtocol all -SSLv2 -SSLv3 
  27. #修改加密套件如下 
  28. SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; 
  29. SSLCertificateFile "E:/wamp/bin/apache/Apache2.2.21/conf/ssl/public.pem"  
  30. SSLCertificateKeyFile "E:/wamp/bin/apache/Apache2.2.21/conf/ssl/213983008100163.key" 
  31. SSLCertificateChainFile "E:/wamp/bin/apache/Apache2.2.21/conf/ssl/chain.pem" 
  32. #---------阿里云的配置参数 end----------------- 
  33.  
  34. <FilesMatch "\.(cgi|shtml|phtml|php)$"
  35.     SSLOptions +StdEnvVars 
  36. </FilesMatch> 
  37. <Directory "E:/wamp/bin/apache/Apache2.2.21/cgi-bin"
  38.     SSLOptions +StdEnvVars 
  39. </Directory> 
  40.  
  41. BrowserMatch ".*MSIE.*" \ 
  42.          nokeepalive ssl-unclean-shutdown \ 
  43.          downgrade-1.0 force-response-1.0 
  44.  
  45. CustomLog "E:/wamp/bin/apache/Apache2.2.21/logs/ssl_request.log" \ 
  46.           "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 
  47.  
  48. </VirtualHost> 
       注意:上面的代码其实就是https的虚拟主机文件,下面是上面代码的网站核心地方需要注意的地方,我特意标起来了,大家按照自己的修改就行了
  1. <VirtualHost _default_:443> 
  2.      
  3.     这里面其实是一个虚拟主机,是https的虚拟主机;如果多个虚拟主机,自己建多个就行了 
  4.  
  5.     DocumentRoot "E:\wamp\www"        你的网站目录 
  6.     ServerName  api.doysu.net:443     你的网站域名 
  7.  
  8. </VirtualHost>  
 
/----------------这里面部分主要说的是apache2.4的配置注意信息,可以不看  start---------------/
   
       
温馨提示:我用的是老版的apache2.2,但是如果你用的是apache2.4的版本,那么设置稍微有点不一样,但是只要大家稍微注意下这些英文,就知道怎么配置了,下面是注意的英文
  1. # Required modules: mod_log_config, mod_setenvif, mod_ssl, 
  2. #          socache_shmcb_module (for default value of SSLSessionCache) 
通过上面的英文我们可以看出,apache2.4启用ssl 需要开启mod_log_config,  mod_setenvif,  mod_ssl,  socache_shmcb_module这4个模块,如果你少开启一个,你都无法启动apache,所以建议大家,修改httpd-ssl.conf这个文件的时候,注意看看上面的英文;

下面附上apahce2.4的httpd-ssl.conf配置文件供大家参考:

  1. Listen 443 
  2.  
  3. #修改加密套件如下 
  4. SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; 
  5.  
  6. SSLPassPhraseDialog  builtin 
  7.  
  8. SSLSessionCache "shmcb:e:/wamp/bin/apache/apache2.4.9/logs/ssl_scache(512000)" 
  9. SSLSessionCacheTimeout  300 
  10.  
  11.  
  12. <VirtualHost _default_:443> 
  13.  
  14. DocumentRoot "e:/wwwroot/xiaochengxu" 
  15. ServerName api.banse.ren:443 
  16. ServerAdmin admin@example.com 
  17. ErrorLog "e:/wamp/bin/apache/apache2.4.9/logs/error.log" 
  18. TransferLog "e:/wamp/bin/apache/apache2.4.9/logs/access.log" 
  19.  
  20.  
  21. SSLEngine on 
  22. #添加 SSL 协议支持语句,关闭不安全的协议和加密套件 
  23. SSLProtocol all -SSLv2 -SSLv3 
  24. SSLCertificateFile "e:/wamp/bin/apache/apache2.4.9/conf/ssl/public.pem" 
  25. SSLCertificateKeyFile "e:/wamp/bin/apache/apache2.4.9/conf/ssl/213983008100163.key" 
  26. SSLCertificateChainFile "e:/wamp/bin/apache/apache2.4.9/conf/ssl/chain.pem" 
  27.  
  28.  
  29. <FilesMatch "\.(cgi|shtml|phtml|php)$"
  30.     SSLOptions +StdEnvVars 
  31. </FilesMatch> 
  32.  
  33. <Directory "e:/wamp/bin/apache/apache2.4.9/cgi-bin"
  34.     SSLOptions +StdEnvVars 
  35. </Directory> 
  36.  
  37. BrowserMatch "MSIE [2-5]" \ 
  38.          nokeepalive ssl-unclean-shutdown \ 
  39.          downgrade-1.0 force-response-1.0 
  40.  
  41.  
  42. CustomLog "e:/wamp/bin/apache/apache2.4.9/logs/ssl_request.log" \ 
  43.           "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 
  44.  
  45. </VirtualHost> 

/----------------这里面部分主要说的是apache2.4的配置注意信息,可以不看   end---------------/


4.http自动转换为https的方法,为了强制用户使用加密链接,不然你会发现,通过http也能打开

   0
).请先打开Apache的Rewrite功能,这个要是不会,请您百度下,这个简单的东西就不多说了;
   1).下面介绍下Apahce的配置方法,简单来说就是配置一个301重定向,需要在你的网站根目录下的.htaccess文件
  
       1:下面是针对固定一个域名进行重定向
  1. RewriteEngine on 
  2. RewriteCond %{SERVER_PORT} !^443$ 
  3. RewriteCond %{HTTP_HOST}   ^api.doysu.net 
  4. RewriteRule ^(.*)$ https://api.doysu.net [R=301,L] 
        2:下面是针对整站进行重定向
  1. RewriteEngine on 
  2. RewriteCond %{SERVER_PORT} !^443$ 
  3. RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R=301] 
      3:如果对某个目录做https强制跳转,则复制以下代码:
  1. RewriteEngine on 
  2. RewriteBase /你的目录名称 
  3. RewriteCond %{SERVER_PORT} !^443$ 
  4. #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R] 
  5. RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 

    2).其他服务器比如IIS或者Tomcat,请自行百度,其实就是重定向而已;

用微信扫一扫

用微信扫一扫