Vue2 项目启动后,很多研发人员总是遇到“此网站无法提供安全连接”的提示,尝试各种常见的代理工具, 比如Charles 和 Fiddler,也没有办法解决这个问题。

今天给大家分享一种不那么普遍但非常有效的 HTTPS 代理配置方法。

1.方法

1.1.使用mkcert生成证书

STEP1 安装Chocolatey

Chocolatey是Windows上的包管理工具,使用它可以使用命令行安装程序,使用管理员权限打开cmd,再运行如下代码,一路确认允许即可安装成功

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

STEP2 安装mkcert

mkcert是用来生成证书的软件,使用下列命令安装mkcert,同样要用管理员权限运行cmd

choco install  mkcert -y

STEP3 生成根证书

mkcert -install

STEP4 生成域名证书

去到指定目录,打开命令行工具

mkcert localhost xxxx.com

1.2.配置VUE项目
// webpack.config.js
const path = require('path')
module.exports = {
  // ...
  devServer: {
    publicPath: `https://localhost:${PORT}/`,
    proxy: {
      '/api': { // 代理的目标路径
        target: 'https://xxxx.com/api', // 目标服务器URL,包括协议
        secure: false, // 或者配置为true,具体取决于您的需求和后端证书情况
        changeOrigin: true, // 允许代理的请求更改其主机头以匹配目标URL
        // ...其他代理配置项(如rewrite、headers等)
        // 如果需要修改指向的话
        //pathRewrite: {
        //  '/api': ''
        //},
      },
    },
    // 如果您希望整个本地开发服务器使用HTTPS,需要配置此项
    // 配置为用mkcert生成的证书
    https: {
       key: path.resolve(__dirname, './ssl/localhost+1-key.pem'),
       cert: path.resolve(__dirname, './ssl/localhost+1.pem'),
    }, 
    // ...其他devServer配置项(如port、host等)
  },
  // 如果有指定output中publicPath的地址,则需要修改为https
  output: {
    path: config.build.assetsRoot,
    filename: '[name].js',
    publicPath:
      process.env.NODE_ENV === 'production'
        ? '/'
        : `https://localhost:${process.env.PORT}/`
  },
};

​​​1.3.完成

启动项目完成https配置

可以发现,请求都变成https了,并且可以正常访问相关接口和资源

作者介绍:

道一云七巧低代码开发平台,让零代码人员也能轻松构建企业级应用。通过可视化拖拽和模型驱动,实现快速开发和部署,加速企业信息化进程。利用道一云七巧低代码平台,企业可以快速实现个性化应用开发,规范流程管理,显著提升团队协作效率。作为高生产力aPaaS平台,道一云七巧是企业数字化转型的理想选择。

欢迎关注:
官网:道一云七巧 - 可视化、智能化、数字化应用构建
免费体验:道一云产品免费试用
公众号:道一云低代码(do1info)

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐