产生证书文件:
openssl genrsa -des3 -out jack.key 2048
openssl req -new -key jack.key -out jack.csr
openssl req -new -x509 -days 3650 -key jack.key -out jack.crt
#passwd: passphrase
启动nginx 免密码,要重新 生成key文件
openssl rsa -in jack.key -out jack.key.passfree
nginx 配置:
server{
listen 443 ssl;
rewrite_log on;
ssl_certificate ××××/key/jack.crt;
ssl_certificate_key ××××/key/key_passfree/jack.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
}
#把 原来http 端口的请求 重定向到443 端口
server {
listen *:9999;
return 301 https://192.168.1.224$request_uri;
}
如果要同时支持 http 和https 则 复制一份 server
-------------------------------https 双向认证 ------------------------------------------
python
import requests
res = requests.get('https://×××.×××.com/admin', cert=('/home/jack/work/cetificates/ssl/ca.crt', '/home/jack/work/cetificates/ssl/ca.key'))
print res.text
openssl genrsa -des3 -out jack.key 2048
openssl req -new -key jack.key -out jack.csr
openssl req -new -x509 -days 3650 -key jack.key -out jack.crt
#passwd: passphrase
启动nginx 免密码,要重新 生成key文件
openssl rsa -in jack.key -out jack.key.passfree
nginx 配置:
server{
listen 443 ssl;
rewrite_log on;
ssl_certificate ××××/key/jack.crt;
ssl_certificate_key ××××/key/key_passfree/jack.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
}
#把 原来http 端口的请求 重定向到443 端口
server {
listen *:9999;
return 301 https://192.168.1.224$request_uri;
}
如果要同时支持 http 和https 则 复制一份 server
-------------------------------https 双向认证 ------------------------------------------
python
import requests
res = requests.get('https://×××.×××.com/admin', cert=('/home/jack/work/cetificates/ssl/ca.crt', '/home/jack/work/cetificates/ssl/ca.key'))
print res.text
本文介绍如何使用openssl生成SSL证书,并详细配置nginx服务器支持HTTPS,包括免密码启动配置及HTTP到HTTPS的重定向。此外还提供了Python代码示例实现HTTPS的双向认证。
1335

被折叠的 条评论
为什么被折叠?



