Nginx詳解二十一:Nginx深度學習篇之配置蘋果要求的openssl後臺HTTPS服務
配置蘋果要求的證書:
1、服務器所有的連接使用TLS1.2以上的版本(openssl 1.0.2)
2、HTTPS證書必須使用SHA256以上哈希算法簽名
3、HTTPS證書必須使用RSA2048位或ECC256位以上公鑰算法
4、使用前向加密技術
首先看openssl版本:openssl version,為1.0.1,需要升級
查看當前使用的自簽算法類型:openssl x509 -noout -text -in ./jesonc.crt,使用的是sha1,位數是1024位,都不符合規定
升級openssl,使用shell腳本升級
#!/bin/sh
#[email protected]
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
echo "/usr/local/openssl/lib" >>/etc/ld.so.conf
ldconfig -v
openssl version -a
執行腳本
版本升級成功
修改算法:openssl req -days 36500 -x509 -sha256 -nodes -newkey rsa:2048 -keyout jesonc_apple.crt
還是和之前一樣輸入相應的信息
修改配置文件
server
{
listen 443;
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 -tc /etc/nginx/nginx.conf
nginx -s reload -c /etc/nginx/nginx.conf
查看443端口是否啟動
瀏覽器訪問,這個證書就是蘋果要求的類型
Nginx詳解二十一:Nginx深度學習篇之配置蘋果要求的openssl後臺HTTPS服務