背景

  • https是用于项目网页的请求
  • http用于静态资源图片视频的加载

出现问题

  • 使用google浏览器可以正常加载图片,但是访问视频时,浏览器自动将http请求转成https,就查不到视频资源了
  • 使用windows自带的浏览器,图片,视频都被转成了https请求

原因

  • 浏览器会自作主张将访问静态资源的http请求转成https请求,而我后台加载静态资源使用的nginx,nginx静态资源监听的80端口
  • http请求默认用的80端口,https请求默认用的443端口,所以访问不到静态图片和视频

解决

  • 知道了原因,就开始解决
  • 将静态资源和网页访问入口都使用https来处理

具体修改位置

  • nginx的配置,将监听80映射的静态路径,添加到监听443端口映射的位置,配置如下

注意 root配置和alias配置,
前台请求静态资源需要在原来请求基础路径上再拼接上/upload/(如:https://域名/upload/xxx/xxx.png)

## 访问静态网页
location / {

            root   /usr/local/src/web/dist;
                        try_files $uri /index.html = 404;
        }
## 访问静态资源(图像,视频)
        location /upload/ {
          alias  /opt/images/upload/;
              try_files $uri /index.html = 404;
        }

  • 前台请求资源直接使用https,而不使用http
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐