HTTP转HTTPS,如何开启全站HTTPS安全访问

一、HTTP、HTTPS是什么?

通俗点讲HTTP是服务器与浏览器之间传输信息的一种协议,HTTPS也是传输信息的协议,只不过使用SSL/TLS进行加密数据包,通过加密之后的数据包进行传输,所以更安全,对服务器端,对用户端加了一层防护,另外如果不对网站做SSL证书部署,会影响搜索引擎的检索。一般来说,在服务器要同时开启80端口,以及443端口,如果不放行端口号的话会影响到站点访问,这是一开始部署时需要做的基本工作。

  • HTTP 默认工作在 TCP 协议 80 端口,用户访问网站 http:// 打头的都是标准 HTTP 服务。
  • HTTPS 默认工作在 TCP 协议443端口,用户访问网站 https:// 打头的都是标准 HTTPS 服务。

下面两个图片对比,HTTP和HTTPS在浏览器的显示。
2023-11-19T11:04:27.png
HTTP
2023-11-19T11:04:51.png
HTTPS

二、SSL证书如何获取

这里的SSL一般在主机服务商进行获取,这里我选择的是阿里云,进入阿里云控制台,搜索SSL证书(应用安全),直接申请DigiCert版的SSL证书按照要求填写信息即可申请,一般几分钟就可以签发证书。
2023-11-19T11:05:06.png
签发SSL证书流程
2023-11-19T11:05:13.png
SSL证书申请流程

签发成功后需要下载在证书的key和pem,保存在主机上,然后使用SCP命令上传到服务器的Nginx目录下。

这里进入Nginx根目录下,如果不知道你的nginx放在哪里,直接使用nginx -t,当出现OK,Success字样说明nginx服务处于开启状态。前面的路径就是你的nginx.conf配置文件。

[root@VM-0-10-centos ~]# cd /usr/local/nginx/conf/
[root@VM-0-10-centos conf]# ls -l
[root@VM-0-10-centos conf]# vi nginx.conf

这里需要在server字段中加入80端口,443端口,分别使用301转发,使http转换到https,当然除了使用301转发,还可以使用强制转换。rewrite ^(.*) https://$host$1 permanent;

对应第三个server字段中的证书,要按照路径严格填写,要不然没有效果,主要几个地方按照我的配置文件进行配置即可。

server {
       listen 80;
       server_name yourdomain.com www.yourdomain.com;
       return 301 https://www.yourdomain.com$request_uri;
}
server{
       listen 443;
       server_name yourdomain.com;
       return 301 https://www.yourdomain.com$request_uri;
}
server
    {
        ## listen 80 default_server reuseport;
        #listen [::]:80 default_server ipv6only=on;
        ## listen 80;
        listen 443 default_server ssl;
        #填写绑定证书的域名
        server_name www.yourdomain.com;
        ##rewrite ^(.*) https://$host$1 permanent;
        ##上面注掉 以及 rewrite整句话。

        ssl on;
        #证书文件名称
        ssl_certificate /usr/local/nginx/conf/5188481_www.yourdomain.com.pem;
        #私钥文件名称
        ssl_certificate_key /usr/local/nginx/conf/5188481_www.yourdomain.com.key;
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

三、测试

在网站后台将所有的访问地址改成https://的格式,在浏览器中输入http://www.yourdomai.com,看是否跳转到了https://www.yourdomain.com,如果没有请检查是否配置成功,如果成功跳转那么就代表成功部署证书。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    请登录后查看评论内容