Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

时间:2021-04-07 11:54:01

配置苹果要求的证书:

1、服务器所有的连接使用TLS1.2以上的版本(openssl 1.0.2)

2、HTTPS证书必须使用SHA256以上哈希算法签名

3、HTTPS证书必须使用RSA2048位或ECC256位以上公钥算法

4、使用前向加密技术

首先看openssl版本:openssl version,为1.0.1,需要升级

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

查看当前使用的自签算法类型:openssl x509 -noout -text -in ./jesonc.crt,使用的是sha1,位数是1024位,都不符合规定

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

升级openssl,使用shell脚本升级

#!/bin/sh
#jeson@imoocc.com
cd /opt/download
wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz
tar -zxvf openssl-1.0.2k.tar.gz
cd openssl-1.0.2k
./config --prefix=/usr/local/openssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >>/etc/ld.so.conf
ldconfig -v
openssl version -a

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

执行脚本

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

版本升级成功

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

修改算法:openssl req -days 36500 -x509 -sha256 -nodes -newkey rsa:2048 -keyout jesonc_apple.crt

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

还是和之前一样输入相应的信息

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

修改配置文件

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

server
{
listen 443;
server_name 116.62.103.228 jeson.t.imooc.io;

keepalive_timeout 100;

ssl on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

#ssl_certificate /etc/nginx/ssl_key/jesonc.crt;
ssl_certificate /etc/nginx/ssl_key/jesonc_apple.crt;
ssl_certificate_key /etc/nginx/ssl_key/jesonc.key;
#ssl_certificate_key /etc/nginx/ssl_key/jesonc_nopass.key;

index index.html index.htm;
location / {
root /opt/app/code;
}
}

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

检查配置语法,并重载

nginx -tc /etc/nginx/nginx.conf
nginx -s reload -c /etc/nginx/nginx.conf

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

查看443端口是否启动

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务

浏览器访问,这个证书就是苹果要求的类型

Nginx详解二十一:Nginx深度学习篇之配置苹果要求的openssl后台HTTPS服务