1、安装Nginx
可以使用源码或者rpm方式,可以在本站搜索,这里不再赘述
2、检查Nginx是否安装SSL 模块
/usr/local/nginx/sbin/nginx -V #如果configure arguments中包含:with-http_ssl_module, 则已安装 #使用rom方式安装的nginx默认会装ssl模块,如果是编译安装的需要安装下
3、申请SSL证书
有两种办法:
1.正式环境:建议去购买ssl证书,或者去域名商领取免费的ssl证书
2.测试环境:使用open ssl生成一个,浏览器会报错”不受信任的证书“,下面是命令:
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem #会在当前目录下生成 cert.pem 和 key.pem 两个文件,就是证书和密钥,后面用。
4、配置Nginx
vi /etc/nginx/conf.d/default.conf #配置为如下格式,注意其中的ssl_certificate和ssl_certificate_key值改为上面的证书和密钥文件路径 server { listen 443 ssl; server_name localhost; ssl_certificate /root/cert.pem; ssl_certificate_key /root/key.pem; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root /usr/share/nginx/html; index index.html index.htm; } } server { listen 80; server_name localhost; return 301 https://10.110.10.52; }
4、重启Nginx
systemctl restart nginx #如果报错提示:SSL: error:0200100D,应该是SELinux问题,关闭即可 #临时关闭 setenforce 0 #永久关闭 vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled #设置后需要重启才能生效
转载请注明:零五宝典 » Centos7下Nginx 配置 HTTPS教程