Loading

腾讯云免费申请SSL证书配置https

证书申请

1、进入腾讯云官网,在上方直接搜索SSL,搜索到后点击立即选购;

2、点击进去后选择自定义配置,加密标准选择默认的国际标准,证书种类选择域名免费版(DV),勾选同意服务条款后选择免费快速申请;

3、申请完成后即可在我的证书中看到,但是刚申请到证书状态是待验证吧,我这个已经是验证审核后的了;

4、刚申请的证书需要去对应的域名解析的地方添加一条解析记录,

5、我们公司的域名是直接在新网申请的,所以设置解析记录的也是在新网设置,大家根据自己的实际情况去自己域名购买的地方进行配置;配置完成后去腾讯云点击验证就可以,然后就是等待审核,审核通过后就是和我上面的状态一样了,点击下载证书,将证书下载到本地,

证书安装(Nginx)

1、请在 SSL 证书管理控制台 中选择您需要安装的证书并单击下载。
2、在弹出的 “证书下载” 窗口中,服务器类型选择 Nginx,单击下载并解压缩 91-tech.cn 证书文件包到本地目录。
解压缩后,可获得相关类型的证书文件。其中包含 91-tech.cn_nginx 文件夹:

  • 文件夹名称:91-tech.cn_nginx
  • 文件夹内容:
    • 91-tech.cn_bundle.crt 证书文件
    • 91-tech.cn_bundle.pem 证书文件(可忽略该文件)
    • 91-tech.cn.key 私钥文件
    • 91-tech.cn.csr CSR 文件
      3、将已获取到的 91-tech.cn_bundle.crt 证书文件和 91-tech.cn.key 私钥文件从本地目录拷贝到 Nginx 服务器的 /usr/local/nginx 目录(此处为我的 Nginx 安装目录,请根据实际情况操作)下。
      4、编辑 Nginx 根目录下的 nginx.conf 文件。修改内容如下:
 server {
        listen 80;
        server_name 91-tech.cn;
        return 301 https://$server_name$request_uri;
 }
 server {
        ## listen       80;
        #SSL 默认访问端口号为 443
        listen 443 ssl;
        ## server_name  localhost;
        #请填写绑定证书的域名
        server_name 91-tech.cn;
        #请填写证书文件的相对路径或绝对路径
        ssl_certificate ../91-tech.cn_bundle.crt;
        #请填写私钥文件的相对路径或绝对路径
        ssl_certificate_key ../91-tech.cn.key;
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1.2 TLSv1.3;
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

        location / {
                alias  html/;
                index  index.html index.htm;
                try_files $uri $uri/ @router;
                add_header Access-Control-Allow-Origin *;
                add_header Access-Control-Allow-Methods 'POST,GET,PUT,PATCH,DELETE,OPTIONS';
                add_header Access-Control-Allow-Headers 'Content-Type, X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Date, X-Api-Version, X-File-Name,Token,Cookie,authorization';
        }

        # 这个是后端的代理,根据自己的实际情况配置
        location /website/ {
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                add_header Access-Control-Allow-Origin *;
                add_header Access-Control-Allow-Methods 'POST,GET,PUT,PATCH,DELETE,OPTIONS';
                add_header Access-Control-Allow-Headers 'Content-Type, X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Date, X-Api-Version, X-File-Name,Token,Cookie,authorization';
                proxy_pass http://127.0.0.1:8081/website/;
        }
        location @router {
                rewrite ^.*$ /index.html last;
        }
  ...

5、通过执行以下命令验证配置文件问题。
nginx -t
正常来说现在就可以了,但是了,我的就出了一个问题

这个大概颜色就是我安装nginx的时候没有开启ssl功能,执行/usr/local/nginx/sbin/nginx -V这个命令后发现我的configure arguments这个是空的

切换到nginx的源码目录后执行./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

然后再执行make进行编译(这里不要make install,否则会覆盖安装)
备份原有已安装好的nginx:cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
停止nginx服务systemctl stop nginx.service
将刚刚编译好的nginx覆盖掉原有的nginx:cp ./objs/nginx /usr/local/nginx/sbin/nginx
启动nginx服务systemctl start nginx.service
再执行/usr/local/nginx/sbin/nginx -V查看是否已成功加入

到这里就配置完成了,打开网站就会默认跳转到https;

posted @ 2022-12-27 11:33  路遥_13  阅读(1400)  评论(0编辑  收藏  举报