我尝试通过此article创建连接代理。我的代码几乎所有内容都相同,但是我需要通过https协议调用某些内容。
connect: {
options: {
port: 9000,
hostname: '0.0.0.0',
livereload: 35729
},
proxies: [{
context: ['/foo/product', '/foo/somethingelse'],
host: 'non-https-domain.com',
changeOrigin: true
rewrite: {
'^/foo': ''
}
},{
context: '/productImages',
host: 'https-domain.com',
https: true,
port: 443, // just trying
changeOrigin: true,
rewrite: {
'^/productImages': ''
}
}],
livereload: {
// the same like the article
}
}
/product
和/somethingelse
运作良好,但/productImages
无效。我需要这样称呼它:
localhost:9000/productImages/lot/of/directory/and/finally/a/file.jpg
它应该调用
https://https-domain.com/lot/of/directory/and/finally/a/file.jpg
关键是没有
/productImages
。但是替换从未发生过。先谢谢您的帮助!
最佳答案
我犯了一个愚蠢的错误:名称只有错误!
产品列表有一个/product
代理上下文,图像有一个/productImages
。我使用正则表达式设置这些名称。并且"^/product"
也会替换/productImages
。 (我把foo
仅用于测试重写)