温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Nginx如何配置实现SSL证书支持HTTPS访问协议

发布时间:2021-10-20 18:10:48 来源:亿速云 阅读:218 作者:柒染 栏目:大数据

这篇文章将为大家详细讲解有关Nginx如何配置实现SSL证书支持HTTPS访问协议,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

通过修改简单的Nginx配置文件来实现SSL证书的加持,使得我们的应用程序支持HTTPS访问协议。

首先,搞到SSL证书

付费的话就很多选项,我就简单介绍一下免费的吧。
免费的SSL证书都是针对单一域名,比如:baofeidyz.com 、quan.baofeidyz.com 这两个域名是单独的,所以是需要两个免费的SSL证书
腾讯云和阿里云目前都有免费的SSL证书可以申请。
腾讯云免费SSL证书
目前来看腾讯云似乎没有直接的入口,需要我们登录到腾讯云的控制台(如下图),请注意我红框选中的地方,我们可以使用SSL证书管理作为我们申请免费SSL证书的入口。如果你找不到这个入口,可以点另外一个红框中的加号添加SSL证书管理。
Nginx如何配置实现SSL证书支持HTTPS访问协议
进入SSL证书管理以后(如下图),点击 申请证书 即可申请免费的SSL证书,剩下的验证环节腾讯云有完善的文档介绍,就不再赘述。
Nginx如何配置实现SSL证书支持HTTPS访问协议
接下来我们直接走购买流程(如下图)
Nginx如何配置实现SSL证书支持HTTPS访问协议
然后我们可以看到选项菜单里面多了一个免费域名的选项

点选以后,就可以看到右侧的价格变为0了,然后按照流程走下去就可以了。

如果证书在一天内未通过DNS或者文件验证,可以发起工单联系客服解决。

然后,配置SSL证书到Nginx中

腾讯云的SSL证书下载包中,有一个单独的Nginx文件夹,里面有两个文件都是我们需要的,如下图所示。
Nginx如何配置实现SSL证书支持HTTPS访问协议
我们需要把这两个文件放到我们的服务器中,如果是linux系统,推荐放到/etc/ssl/目录下

然后我们需要去找到nginx的配置文件。
关于这个配置文件的路径查找,推荐大家启动nginx后使用ps -ef | grep nginx的命令去查找,这样可以很简单的找到真正会生效的那个配置文件。

首先,我们需要启动nginx

service nginx start

然后再去查找正在运行中的nginx服务

ps -ef | grep nginx

得到的结果可能是这样的:

[root@host ssl]# ps -ef | grep nginx
root      1007     1  0 May20 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     2712  1007  0 02:17 ?        00:00:00 nginx: worker process
root      2768  2658  0 04:32 pts/1    00:00:00 grep --color=auto nginx

那么我们nginx配置文件的地址就应该是

/etc/nginx/nginx.conf

使用vim打开配置文件

vim /etc/nginx/nginx.conf

我们需要在

http{

}

中去添加一个server节点,如下所示

http{
    #http节点中可以添加多个server节点
    server{
        #监听443端口
        listen 443;
        #对应的域名,把baofeidyz.com改成你们自己的域名就可以了
        server_name baofeidyz.com;
        ssl on;
        #从腾讯云获取到的第一个文件的全路径
        ssl_certificate /etc/ssl/1_baofeidyz.com_bundle.crt;
        #从腾讯云获取到的第二个文件的全路径
        ssl_certificate_key /etc/ssl/2_baofeidyz.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        #这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。
        location / {
                #文件夹
                root /usr/local/service/ROOT;
                #主页文件
                index index.html;
        }
    }

}

到这里还不行,因为如果用户使用的是http协议进行访问,那么默认打开的端口是80端口,所以我们需要做一个重定向,我们在上一个代码块的基础上增加一个server节点提供重定向服务。

http{
    #http节点中可以添加多个server节点
    server{
        #监听443端口
        listen 443;
        #对应的域名,把baofeidyz.com改成你们自己的域名就可以了
        server_name baofeidyz.com;
        ssl on;
        #从腾讯云获取到的第一个文件的全路径
        ssl_certificate /etc/ssl/1_baofeidyz.com_bundle.crt;
        #从腾讯云获取到的第二个文件的全路径
        ssl_certificate_key /etc/ssl/2_baofeidyz.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        #这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。
        location / {
                #文件夹
                root /usr/local/service/ROOT;
                #主页文件
                index index.html;
        }
    }
    server{
        listen 80;
        server_name baofeidyz.com;
        rewrite ^/(.*)$ https://baofeidyz.com:443/$1 permanent;
    }

}

然后使用保存配置文件,使用nginx -t命令对文件对配置文件进行校验,如果看到successful表示文件格式证书,这时候我们就可以启动nginx服务或者重新加载nginx配置文件。
启动nginx服务:service nginx start
重新加载配置文件:nginx -s reload

其实当你在腾讯云下载证书的时候,腾讯云会提供一个链接教你如何配置nginx的证书。

关于Nginx如何配置实现SSL证书支持HTTPS访问协议就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI