我尝试通过此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仅用于测试重写)

07-24 18:51