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教程