The file at 'http://xxxx.xlsx' was loaded over an insecure connection?

vue 项目想下载文件,文件放在public目录下,通过这种方式下载

        <a href="/xxx.xlsx" download="xxx.xlsx">下载文件</a>

提示错误

The file at 'http://xxxx.xlsx' was loaded over an insecure connection. This file should be served over HTTPS  

我当前项目是本地启动的http环境,下载文件也在本地,现在怎么修改呢?
image.png

阅读 21.2k
avatarAI BotBETA

你可以通过将文件放在一个支持HTTPS的服务器上来解决这个问题。如果你不想使用HTTPS,另一种解决方案是在客户端上安装一个安全连接警告的拦截器。但是,这并不是一个推荐的解决方法,因为它可能会引起其他安全问题。

如果你想在本地启动的http环境中下载文件,你可以尝试使用以下方法:

  1. 修改vue.config.js文件,添加以下代码:

    module.exports = {
      publicPath: 'https://your-domain.com/'
    }

    your-domain.com替换为你的域名或IP地址。这将确保在构建时生成的链接使用HTTPS。

  2. public目录下创建一个名为.nojekorny-人造丝的文件。这个文件的作用是禁止webpack在生产环境中生成带有<!-- nojekorny -->注释的代码。这样可以防止某些浏览器(如Chrome)在加载公共路径时发出警告。
  3. 确保你的服务器配置正确,以便在本地启动时使用HTTPS。如果你使用的是Vue CLI,可以尝试使用vue-cli-service serve --https命令来启动服务器并启用HTTPS。这将生成一个自签名的证书,以便你在本地开发时使用安全的连接。

请注意,如果你在生产环境中使用这种方法,你应该使用一个有效的HTTPS证书来确保安全连接。

1 个回答

使用双斜杠<a href="//xxx.xlsx" download="xxx.xlsx">下载文件</a>,其次你的网站如果是https,就必须要提供https的资源。如果你是https网站,用http资源,就会出现你的提示日志。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题