首页 > 编程语言 >微信小程序Server端环境配置

微信小程序Server端环境配置

时间:2023-04-05 20:43:14浏览次数:53  
标签:SSL -- 微信 程序 Server nginx usr https local


源码地址:https://github.com/Tinywan/PHP_Experience


主要内容:
1. SSL免费证书申请步骤
2. Nginx HTTPS 配置
3. TLS 1.2 升级过程

 

微信小程序要求使用 https 发送请求,那么Web服务器就要配置成支持 https,需要先申请SSL证书

小程序也要求 TLS(传输层安全协议)的版本至少为 1.2,在配置好 https之后,如果 TLS 的版本较低,就涉及到升级问题

所以 Server端环境配置的主要步骤:

  1. 申请 SSL 证书
  2. 配置web服务器支持https(我使用的是nginx)
  3. 升级到 TLS 1.2 

SSL证书申请

https 需要使用SSL证书,这个证书的价格为每年三五千到一万多,对于小团队或者是想熟悉一下小程序的用户来说,这个价格还是比较高的,这种情况可以选择免费证书,另外,也可以考虑一下云服务,例如 野狗LeanCloud 这些成熟的服务平台,都支持 https,如果这些平台能满足自己的业务需求,就省掉了很多麻烦

 

免费证书:阿里云上的 赛门铁克 免费型DV SSL

申请过程



wanwang.aliyun.com



登录控制台,点击左侧菜单中的 安全 -> 证书服务,这个页面中右上角有 购买证书 按钮,点击进入购买页,选择免费型DV SSL,购买

微信小程序Server端环境配置_SSL

订单金额为0元,只是走一遍购买流程,完成后回到证书服务页面,可以在列表中看到一个证书

微信小程序Server端环境配置_SSL_02

首先进行 “补全” 操作,填写自己的域名和基本信息

之后 “补全” 连接会变为 “进度”,点击后根据提示操作,主要是验证自己的服务器,我选的是文件验证,下载一个文件上传到自己服务器,等待验证

验证没问题后,大概10分钟左右就可以下载SSL证书了

Nginx HTTPS 配置

证书上传到nginx目录下,例如



/usr/local/nginx/cert



修改 conf/nginx.conf

配置 HTTPS server 块儿,添加SSL配置



# HTTPS server
#
server {
    listen       443 ssl;
    server_name  localhost;
    ......
    
    ssl on;
    ssl_certificate   /usr/local/nginx/cert/213994146300992.pem;
    ssl_certificate_key  /usr/local/nginx/cert/213994146300992.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;


    location / {
        root   html;
        index  index.html index.htm;
    }

    ......
    
}



重新加载配置文件,浏览器中使用 https 方式访问自己的域名,看是否可以正常访问

升级到 TLS 1.2

查看 TLS 版本

访问 https url 后,地址栏前面会有一个绿色小锁图标,点击它可以查看到 TLS 版本信息

如果没有达到 1.2 就需要升级

下面的操作环境为 centos linux

1)查看 openssl 版本



openssl version -a



1.0.2以下的版本就要升级,之前的版本官方都已经停止维护

2)升级 openssl

到官网下载新版



https://www.openssl.org/source/



例如下载到 /usr/local

升级 





验证



openssl version -a



3)重新编译 nginx

升级OpenSSL之后,nginx需要重新编译,否则TLS还是旧版本的

下面是基本安装,如您需求更多,请自行调整

用到的软件

  • openssl

前面已经安装完了

  • pcre

下载地址



http://www.pcre.org/



例如下载到 /usr/local



cd /usr/local
tar -zxv -f pcre-8.39.tar.gz
cd pcre-8.39
./configure --prefix=/usr/local/pcre/
make && make install



  • zlib

下载地址 



http://www.zlib.net/



例如下载到 /usr/local



cd /usr/local
tar -zxv -f zlib-1.2.10.tar.gz
cd zlib-1.2.10
./configure --prefix=/usr/local/zlib/
make && make install



编译nginx



tar -zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2

./configure \
--user=用户 \
--group=组 \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-openssl=/usr/local/openssl-1.0.2j \
--with-pcre=/usr/local/pcre-8.39 \
--with-zlib=/usr/local/zlib-1.2.10 \
--with-http_stub_status_module \
--with-threads

make && make install



编译完成后,记得把修改配置文件,添加好 SSL 的相关信息

然后启动nginx,访问 https url 再次验证 TSL 版本

小结

经过这些步骤,微信小程序就可以和后端正常沟通了

 







标签:SSL,--,微信,程序,Server,nginx,usr,https,local
From: https://blog.51cto.com/tinywan/6171597

相关文章

  • 微信接口开发之高级篇系列【网页授权接口】
    【1】带微信帐号的手机 【2】打开浏览器,这里以IE为例。     输入:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login【3】用手机登录你的微信,使用微信中的“扫一扫”功能,扫描上面网页中的二维码。在手机上会出现以下界面:......
  • 微信小程序入门教程(一)API接口数据记录
    今天测试用小程序调用API接口,发现有些数据打印都是对象,怎么全部打印详细点来小程序代码:httpsearch:function(name,offset,type,cb){wx.request({url:'https://www.tinywan.com/api/wechat/songsSearch',data:{name:name,offset:o......
  • Linux运维实战:Centos7.6部署wingftpserver
    一、WingFTPServer介绍WingFTPServer是一款优秀且高速的跨平台FTP服务器软件,对比Windows中自带的FTP服务器,它支持可伸缩的处理器架构并采用异步IO,在速度和效率方面遥遥领先于其他同类产品,稳定可靠,高负载的同时也能持续地正常运行,在网络运维中它契合企业和学校的文件传输,除......
  • 第二十届浙大城市学院程序设计竞赛 I.Magic Tree DFS序线段树
    传送门大致思路:  我们知道dfs序上的整颗子树dfs序编号连续,因为每次删除一个点或者新增一个点都导致子树上所有点的深度加一或者减一。由于是区间修改所以我们考虑dfs序上建线段树。  #include<iostream>#include<cstring>#include<iomanip>#include<algorithm>#in......
  • 你真的需要一个微信公众号吗?
    阅读本文大概需要4分钟。      最近看到很多人后台问我各种开通个人公众号的问题,如怎么开通原创功能啊,怎么开通赞赏功能啊,可能读者中也有很大一部分人已经或者将要开通自己的微信公众号,这篇文章姑且我就分享下我个人运营公号的一些宝贵经验,给你们做些参考,相信看完你......
  • 1130 -Host 'ip' is not allowed to connect to this MySQL server
      由于mysql默认不允许其他IP地址(非虚拟机)访问可以将访问的用户(如root)的host由localhost(本机)改成%(任意,也可指定ip)最后flushprivileges刷新权限 [root@hadoop4~]#mysql-uroot-pmysql>usemysql;mysql>selecthost,userfromuser;+-----------+------+|host......
  • jump server服务器安装anaconda和虚拟环境
      两次cd..然后suxingming(这个姓名就是自己的账号)然后输入cd~然后联网,输入bashlogin然后联网成功后,输入ls查看当前文件下有哪些文件   比如我要删除这个文件夹下的yes文件,输入pwd查看当前路径:/data00/mabaoguo(姓名)然后输入sudorm-rf/data00/maba......
  • 28 岁字节程序员退休,财务自由
    阅读本文大概需要2.9分钟。今天互联网热议最大的一个话题,莫过于字节跳动一28岁程序员大佬,实现财务自由退休了,准备旅居日本经营温泉酒店,让无数人羡慕嫉妒恨啊。这个程序员大佬的名字就不说了,给大家简单说下他的经历吧。1、深圳中学(05-08),高考之后,开始学习写代码;2、暨南大学(08-......
  • 程序员漫漫回乡路--我以前的一些想法
    职业/事业/理想去北京混5到10年,攒50万++,回璩湾,自由职业。电脑培训-软件咨询,网上找点活,开个店。去北京-武汉等城市混,做到技术总监这个级别,然后IT创业。去做零售,副食店-超市-衣服然后在璩湾或襄阳或武汉开店。架构师,技术顾问。IT培训,教学视频,技术写作。保研,混个专硕研究生......
  • 一个网站自动化测试程序的设计与实现
    博客不再经常更新,更多优质文章请来粉丝联盟网FansUnion.cn!(FansUnion)代码   代码亮点:可读性很好,注释详尽背景      工作中,在维护一个项目。几个月前开始了后台Java网站的重构。  重构的过程需要不断去运行网站,然后不断去测试。其中,最常见的问题是服务......