目录
nginx配置https
1.生成自签名证书(已有证书直接进入第2部分)
1.1 生成私钥
openssl genrsa -des3 -out ssl.key 1024
-des3: 生成的密钥使用des3方式进行加密
-out ssl.key: 将生成的私钥保存至ssl.key文件
1024: 为要生成的私钥的长度
注意:生成私钥时需要输入密码,自己随意输入就行,下一步要用,注意保密就行,这里举例用:master9527
注意:windows下不能设置密码,直接执行 openssl genrsa -out ssl.key
1.2 生成自签证书
openssl req -new -x509 -key ssl.key -days 3650 -out ssl.pem
-key :指定已有的秘钥文件生成秘钥请求,只与生成证书请求选项
-new: 表示创建一个新的证书或证书请求
-x509: 指示生成一个自签名的X.509证书,而不是生成一个证书签名请求(CSR)。自签名证书既是自己的证书也是自己的CA(证书权威机构)
-days:证书有效天数
-out :指定生成的证书请求或者自签名证书名称
注意:生成证书是需要根据提示输入以下信息:
Enter pass phrase for ssl.key: 提示需要输入密码,这个密码就是上一步私钥的密码
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [XX]:CN 国家
State or Province Name (full name) []:BEIJING 省份
Locality Name (eg, city) [Default City]:BEIJING 城市
Organization Name (eg, company) [Default Company Ltd]:FIB 组织
Organizational Unit Name (eg, section) []:FIB 公司
Common Name (eg, your name or your server's hostname) []: 主机名
Email Address []: 邮件
1.3 将生成的ssl.key和ssl.pem保存,在nginx安装路径下创建ssl路径,存放证书
注意:在一个服务器上生成的证书可以直接复制到其他服务器直接使用
2.修改nginx配置证书,重启nginx
2.1修改配置文件,只修改下边列举出来的
编辑nginx的conf文件夹中的nginx.conf文件
http {
server {
#指示Nginx监听443端口用于HTTPS连接
listen 443 ssl;
# ssl证书地址,指定文件路径和私钥路径
ssl_certificate /home/stra/nginx/ssl/ssl.pem;
ssl_certificate_key /home/stra/nginx/ssl/ssl.key;
# ssl验证相关配置
# 设置SSL会话缓存的超时时间这里为30分钟
ssl_session_timeout 30m;
# 定义了支持的加密套件列表,优先级从左到右递减
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
# 指定了支持的SSL/TLS协议版本
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# 当客户端和服务器都支持多种加密套件时,这个指令会让Nginx优先选择服务器首选的加密套件
ssl_prefer_server_ciphers on;
}
}
2.2 重启nginx
> cd /home/stra/nginx
停止:sbin/nginx -s stop
启动:sbin/nginx
或者重新加载配置文件:sbin/nginx -s reload
2.3 直接用https访问测试
注意浏览器会提示证书不受信,忽略,点击继续访问