为苹果ATS和微信小程序搭建 Nginx + HTTPS 服务

本文详细介绍了如何在阿里云CentOS7.0服务器上为苹果ATS和微信小程序搭建Nginx+HTTPS服务,包括升级OpenSSL,安装certbot-auto,生成Let's Encrypt证书,配置Nginx,开启防火墙443端口,以及设置自动续期和测试ATS要求。
摘要由CSDN通过智能技术生成

昨天测试开发微信小程序,才发现微信也要求用HTTPS加密数据,想来是由于之前苹果的ATS审核政策的缘故吧,微信想在苹果上开放小程序必然也只能要求开发者必须使用HTTPS了,于是在服务器上测试安装Nginx+HTTPS服务。

安装 HTTPS 最麻烦的问题应该就是获取证书了,证书感觉种类也挺复杂的,有好几种,单域、泛域、多域。。。还有个种标准乱七八糟的感觉,而且收费很高,还是每年买的。

现在各个云服务商也都有提供各种基础功能的免费证书,但似乎很多只对单域免费,这里的单域是指每个二级域名都算是一个域名,每个二级域名都需要单独配置证书。

我使用的是免费的 Let’s encrypt 证书,支持苹果ATS标准。

https://letsencrypt.org/
Let’s Encrypt 项目旨在让每个网站都能使用 HTTPS 加密,该项目获得了 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织的支持, 由 Linux 基金会托管

我用的是阿里云的服务器,操作系统版本:CentOS7.0

提醒:在一切开始前,需要先注意看看服务器剩余内存,我一开始用的是最低配的测试服务器,剩余可用内存只有70MB左右,结果服务器直接挂了,所以最好先腾出个300MB内存再来。

另外,就是服务器必须绑定域名且是外网可以直接访问的才行,若是内网或虚拟机上是不行的,因为证书安装时需要通过域名访问数据的,否则不能生成证书。


SSL labs 最终配置测试结果,
为苹果ATS和微信小程序搭建 Nginx + HTTPS 服务

好了,下面上配置流程:


一、升级系统 OpenSSL 版本

我第一次安装时使用的 OpenSSL 还是系统默认安装版本 1.0.1e,安装完后在 SSL labs 测试安全性居然是个 F 等级,于是升级到1.1.0c 之后变成了A,不过后来看了很多文章后,发现大家推荐使用的是 1.0.2j 版本,据说是因为 1.1 官方支持是到 2018年,而且很多软件还不能兼容,1.0.2 是支持到2019年的。至于实际用哪个看你的其他需求了。。。

为苹果ATS和微信小程序搭建 Nginx + HTTPS 服务

wget https://www.openssl.org/source/openssl-1.1.0c.tar.gz
tar -zxvf openssl-1.1.0c.tar.gz 
cd openssl-1.1.0c/
./config --prefix=/usr shared zlib
make 
make install
二、修改Nginx配置以支持 .well-known 目录的访问

证书安装时会在网站根目录下自动生成 .well-known 目录,必须让外网能够访问该目录下的文件才行,否则会认证失败。

对于 Nginx 的版本,我测试时使用过的最低版本是 nginx1.8.1,建议使用当前最新的稳定版 nginx1.10.2

如果之前 nginx.conf 中存在类似下面的规则

    location ~ /\. {
        deny all;
    }

需要增加下面配置:注意,因为后面证书还需要自动续期,所以这个配置后面还是需要用到的,不能删除。

    location ~ /.well-known {
        allow all;
    }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神神的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值