利用Nginx二级域名解决HTTPS引入HTTP致命错误

in 大杂烩 with 0 comment

这几天搭建了视频解析网站,在搭建的时候发现了解析VIP视频的接口基本都是HTTP协议的,而自己的网站采用的是HTTPS协议(包括HTTP也强制转换为HTTPS)。为了解决这个问题,也考虑了不强转HTTPS,使用HTTP可访问域名+物理地址,但是基于这种方案的安全性考虑,最终选择了二级域名搭建视频解析网站,而域名本身还是强制转为HTTPS。

出现错误

增加二级域名解析

由于我的域名是腾讯云的,所以我直接打开了自己域名的解析,设置了自己的二级域名:v.richule.com 。设置结果如下图:
二级域名解析设置.png

设置了该二级域名后,当搜索http://v.richule.com,DNS会指向设置的主机IP地址的80端口(HTTPS即443端口)。

设置Nginx解析二级域名

当服务器接收到DNS的请求,Nginx应用服务器会根据不同的域名会通过请求头中的HOST字段,匹配到特定的server块,再执行相应的程序代码文件。

     server {  
            listen 80;  
            server_name v.richule.com;
            index index文件;
            root  路径;
            # error_page   404   /404.html;

            # Deny access to PHP files in specific directory
            # location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

            include enable-php-pathinfo.conf;

            location /nginx_status
            {
                stub_status on;
                access_log   off;
            }

            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }

            location ~ .*\.(js|css)?$
            {
                expires      12h;
            }

            location ~ /.well-known {
                allow all;
            }

            location ~ /\.
            {
                deny all;
            }

            access_log  /home/wwwlogs/access.log;
         }  

一级域名的设置

增加了这个server后,如果请求域名是www.richule.com richule.com都会强转为https访问。

Responses