微信小程序配置https 基于Thinkphp框架 +liunx服务器 认证https
**
-
第一步
认识什么是httpsHTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道, 简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL, 因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系) ,句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP, 但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。 这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯, 例如交易支付方面。
**第二步 解析一个二级或者一级域名
第三步 进入阿里云 ssl
第四步 购买证书
绑定域名 只能绑定一个,因为一个域名只有一个证书
购买完成后,输入要绑定这个证书的域名,以及你的个人详细信息等等,提交给签发机构审核,审核完成后,你之前填写的邮箱里也会收到一封如何设置的邮件(这个邮件主要是给域名不是在阿里云注册的用户的设置指南,如果域名在阿里云注册,则会自动对你的域名添加解析记录,不需要你手动去添加)。
- 等几分钟,什么也不用干
- 第五步 等签发完成以后 下载证书
下载对应的版本,我的服务器上liunx下载的apache
你会收到一封邮件 不用理会
看一下下载的证书
这里是你的域名
重头戏
将下载好的证书上传到服务器
- 这是我上传之后的路径,可以根据需要自己更改
- 打开httpd/conf/ 配置一下
我这里是多站点,所以创建了一个目录配置站点域名的,这里需要引用一下我把https ,配置都放在这个目录下了
接下来看我site 的目录配置
我配值一个项目站点,跟ssl证书配置
证书配置
vhostssl.conf 文件
<VirtualHost *:443>
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
#证书公钥配置
SSLCertificateFile "/etc/httpd/ssl/2454134_wxapp.###top_public.crt"
#证书私钥配置
SSLCertificateKeyFile "/etc/httpd/ssl/2454134_wxapp.###.top.key"
# 证书链配置
SSLCertificateChainFile "/etc/httpd/ssl/2454134_wxapp.###.top_chain.crt"
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
DocumentRoot "/home/wechat_shop"
ServerName 绑定证书的域名
ServerAlias 绑定证书的域名
<Directory "/home/wechat_shop">
Options +Includes -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
- 此处有个重要的 就是开启443端口
端口开启完毕
这是 我项目存放的地方
最后一步 就是你的项目 配置https 强制转换
我这里是thinkphp框架 都是大同小异
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.)$ /index.php?s=
RewriteCond %{REQUEST_URI} !^/wxapp.网站.com
RewriteRule (.) https://%{SERVER_NAME}/$1 [R]
到这里访问一下你的域名
大功告成
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://blog.csdn.net/shaw_phy/article/details/78949496?tdsourcetag=s_pcqq_aiomsg
https://help.aliyun.com/knowledge_detail/95493.html?spm=a2c4g.11186631.2.4.4a111c80Ovp6zF