个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种

原文链接:https://www.aiprose.com/blog/20

相信大家都想让自己的站点支持https,今天就给大家介绍如何在个人站点中使用https,并使用nginx配置ssl证书。我们可以从站长之家获取免费证书或者从阿里云盾获取,以下两种方式都会介绍

效果可以参考我的网址 https://www.aiprose.com

名词解释
SSL 证书 :SSL Certificates
即安全套接层(SSL)数字证书,数字证书是一种用于电脑的身份识别机制。数字证书可以从身份认证机构获得。理论上任何人都可以给你发个数字证书。换个说法就是给你发数字证书的那个人或机构对你的公钥进行加签。一般国际可信的证书由CA机构制作颁发,据各种不同情况,可能是CA给用户颁发的,或者用户主动申请的。
HTTPS : 超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,也被称为HTTP over TLS,HTTP over SSL或HTTP Secure)
是一种网络安全传输协议。在计算机网络上,HTTPS经由超文本传输协议进行通信,但利用SSL/TLS来对数据包进行加密。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。该协议由网景公司(Netscape)在1994年首次提出。
CA机构 : 数字证书认证机构(英语:Certificate Authority,缩写为CA)
也称为电子商务认证中心、电子商务认证授权机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
HTTPS优势
基于 SSL 证书,可将站点由 HTTP(Hypertext Transfer Protocol)切换到 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)—— 即基于安全套接字层(SSL)进行安全数据传输的加密版 HTTP协议。

站点应用 HTTPS 后将有以下优势:

  1. 防流量劫持
    全站 HTTPS 是根治运营商、中间人流量劫持的解决方案,不仅可以杜绝网页中被插入的小广告,更可以保护用户隐私安全。

  2. 提升搜索排名
    采用 HTTPS 可以帮忙搜索排名的提升,提高站点的可信度和品牌形象。

  3. 杜绝钓鱼网站
    HTTPS 地址栏绿色图标可以帮助用户识别出钓鱼网站,保障用户和企业的利益不受损害,增强用户信任。

一.获取ssl证书(阿里云盾)
点击访问 阿里云盾 申请

个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种
个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种

点击购买后,在SSL控制台可以看到订单记录 SSL证书管理控制台

个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种

下一步后,会提示域名解析,在域名解析里添加上图中的解析记录 ,等通过审核后,就可以下载SSL证书进行配置了。 如果使用阿里云盾的证书,就直接跳转到第三步进行配置。

个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种

二.获取ssl证书(站长之家)
先去站长之家获取一个免费证书,地址是:点击获取,然后选择下图这个免费版。
个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种

提交基本信息后,会有一个验证网址的步骤,我这里选择手动DNS验证。

提供了操作指引 查看操作指引
个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种

个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种

在域名解析里添加上图中的解析记录

个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种

个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种

如果域名验证通过,就可以看到证书状态是已颁发,然后我们先下载证书文件,按照证书安装指引就行配置,我这里给大家参考我服务器上nginx的配置文件。

三.配置证书
我们将证书上传到服务器中,我的目录是 /opt/cer下面这个是443端口,https的配置

         server{
                listen 443;
                server_name www.aiprose.com;
                ssl on;
                ssl_certificate /opt/cer/www.aiprose.com.crt;
                ssl_certificate_key /opt/cer/www.aiprose.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;
                location /foss {
                        proxy_pass        http://fileback/itstack ;
                        proxy_set_header  X-Real-IP  $remote_addr;
                        client_max_body_size  100m;
                }
                location / {
                        proxy_pass        http://gopath ;
                        proxy_set_header  X-Real-IP  $remote_addr;
                        client_max_body_size  100m;
                 }
        }

网站默认端口是80端口,我们将80端口的所有请求全部转发到443上,这样就会有HTTPS的标志了。

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /root/nginx;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
                # 重定向到https://www.aiprose.com
                if ($host !~* ^www) {
                        set $name_www www.$host;
                        rewrite ^(.*) https://$name_www$1 permanent;
                }
                rewrite ^(.*) https://$host$1 permanent;
        }

        location /itstack {
            proxy_pass        http://fileback/itstack ;
            proxy_set_header  X-Real-IP  $remote_addr;
            client_max_body_size  100m;
        }
        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

最后需要注意的是,如果你的站点使用了https,那么你将不能再请求http的资源了,要保证你的请求的所有接口或者资源全部是https类型的。

关注
如果有问题,请在下方评论,或者加群讨论 200909980

关注下方微信公众号,可以及时获取到各种技术的干货哦,如果你有想推荐的帖子,也可以联系我们的。

个人站点配置免费HTTPS证书、nginx配置ssl证书、阿里云盾和站长之家两种