美文网首页
nginx配置ssl证书实现https访问

nginx配置ssl证书实现https访问

作者: 亦亦嘟嘟 | 来源:发表于2019-01-18 17:44 被阅读0次

    1. 去阿里云或者腾讯云申请免费的ssl证书,这里以阿里云为例。成功以后获得两个文件以.key和.pem结尾的文件

    2.进入nginx的目录新建目录cert里面放入刚刚申请的两个文件

    3.配置nginx的配置文件,在conf/nginx.conf 

        说明:下面的配置是对443端口和80端口进行监听,443端口要启用ssl。监听443端口的server配置可以仿照上面ca认证页面的nginx配置示例        进行配置。

    server {

        listen 443;

        server_name www.baidu.com baidu.com; // 你的域名

        ssl on;

        root /usr/local/website/dist; // 前台文件存放文件夹,可改成别的

        index index.html index.htm;// 上面配置的文件夹里面的index.html

        ssl_certificate  cert/214292799730473.pem;// 改成你的证书的名字

        ssl_certificate_key cert/214292799730473.key;// 你的证书的名字

        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 / {

            index index.html index.htm;

        }

    }

    server {

        listen 80;

        server_name www.baidu.com baidu.com;// 你的域名

        rewrite ^(.*)$ https://$host$1 permanent;// 把http的域名请求转成https

    }

    配置结束后进入sbin目录下 执行./nginx -t 如果出现下面

    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

    证明配置成功,然后执行./nginx -s reload

    PS.执行./nginx -s reload可能出现nginx:[emerg]unknown directive ssl,

    因为我们配置这个SSL证书需要引用到nginx的中SSL这模块,然而我们一开始编译的Nginx的时候并没有把SSL模块一起编译进去,所以导致这个错误的出现

    A.找到nginx的包压缩的解压目录,一般在/usr/loacl/src/下,如果找不到可以全局搜索 find / -name configure,找到带nginx的目录就是了

    B.执行./configure --with-http_ssl_module  //重新添加这个ssl模块,如果出现错误执行yum -y install openssl openssl-devel,然后在执行上一步命令

    C.执行make命令,但是不要执行make install,因为make是用来编译的,而make install是安装,不然你整个nginx会重新覆盖的

    D.在我们执行完做命令后,我们可以查看到在nginx解压目录下,objs文件夹中多了一个nginx的文件,这个就是新版本的程序了。首先我们把之前        的nginx先备份一下,然后把新的程序复制过去覆盖之前的即可。

                   cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

                   cp objs/nginx /usr/local/nginx/sbin/nginx

    E.进入nginx的sbin下执行./nginx -s reload 如果不报错https就配置成功了。

    相关文章

      网友评论

          本文标题:nginx配置ssl证书实现https访问

          本文链接:https://www.haomeiwen.com/subject/vlgndqtx.html