Centos7下Nginx 配置 HTTPS教程

Nginx 368℃

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