采用自发行的证书(如果购买证书可以跳过)
首先确保安装了 openssl (没有的话可以用 yum -y install openssl)
先建立ssl目录,并进入到该目录操作mkdir /etc/nginx/ssl cd /etc/nginx/ssl
创建证书
-
创建私钥(密码用123456)
`openssl genrsa -des3 -out ftpse.key 1024`
-
此步用于生成csr证书,使用上一步骤生成的私钥
在此步过程中,会交互式输入一系列的信息(所在国家、城市、组织等) `openssl req -new -key ftpse.key -out ftpse.csr`
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]:FTPSE COMPANY LTD
Organizational Unit Name (eg, section) []: (空不填)
Common Name (eg, your name or your server's hostname) []:*.ftpse.com
Email Address []: 随便填
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: 空不填
An optional company name []: 空不填
3、去除访问密码,如果不执行此步,在配置了ssl后,nginx启动会要求输入密码
操作过程中会要求输入密码,密码为生成key文件时的密码openssl rsa -in ftpse.key -out ftpse-np.key
4、生成crt证书openssl x509 -req -days 732 -in ftpse.csr -signkey ftpse-np.key -out ftpse.crt
修改nginx配置
listen 443 ssl; #如果硬性要求全部走https协议,这里去除ssl
#ssl on; #如果硬性要求全部走https协议,这里开启ssl on
ssl_certificate ssl/ftpse.crt;
ssl_certificate_key ssl/ftpse.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
防火墙开放443端口
firewall-cmd --permanent --zone=public --add-port=443/tcp