1

我尝试通过这篇文章创建一个连接代理。我的代码中几乎所有内容都相同,但我需要跨 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. 但更换从未发生过。

在此先感谢您的帮助!

4

1 回答 1

2

我犯了一个愚蠢的错误:名字只有错误!

/product产品列表有一个代理上下文,/productImages图像有一个代理上下文。我使用正则表达式来设置这些名称。而 the"^/product"也将取代 the /productImages。(我把foo唯一的用于测试重写)

于 2014-09-24T09:01:51.463 回答