我为此苦苦挣扎了三天,直到找到了这个很好的解决方案。
我将以下内容放入我的 vue.config.js 并使用 baseURL = '/api' 初始化我的 http 客户端
const fs = require('fs');
module.exports = {
devServer: {
proxy: {
'^/api': {
target: 'https://example.com',
ws: true,
changeOrigin: true,
bypass: (req, res) => {
if (req.headers && req.headers.referer) {
url = new URL(req.headers.referer);
url.host = 'example.com';
url.port = '';
req.headers.referer = url.href;
}
},
cookieDomainRewrite: '',
},
},
http2: true,
https: {
key: fs.readFileSync('./cert/key.pem'),
cert: fs.readFileSync('./cert/cert.pem'),
},
},
};
还有另一个选项是在您的主机文件中设置local.example.com 之类的内容,并在您的settings.py 中创建白名单等,但这种解决方案更简洁更好。
您可以使用以下命令来生成您的自签名证书。由于某种原因,我在不使用 https 时遇到了身份验证错误。
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -subj '/CN=localhost'