2016-01-17 84 views
11

我想在我的webpack開發服務器中設置一個代理。問題是我不控制我連接的服務器,我需要驗證請求。我可以將cookie添加到webpack dev服務器代理嗎?

有沒有辦法將cookie添加到我發送到代理服務器的請求中?我已經瀏覽了webpack dev server proxy server pagenode-http-proxy頁面,並且我沒有看到任何提及的cookie。我也不確定是否有辦法讓我看到這些轉發的請求,所以我不知道我正在嘗試做什麼是做任何事情。

任何想法?

回答

1

在進一步研究之後,它看起來好像開發服務器只會轉發您發送它的任何cookie。沒有爲我想要做的認證工作,我想亞馬遜有更多的安全措施,我無法解釋,但這就是答案。

將cookie添加到您要發送到開發服務器的請求中,並正確設置代理。

2

如果您只需要重寫代理的cookie域,請查看node-http-proxy中的cookieDomainRewrite選項。

此外,如果你想找到一種方式,圍繞請求/響應餅乾定製行爲注入,然後檢查的事件,你可以鉤到:

proxy.on('proxyRes', function (proxyRes, req, res) { 
    console.log('RAW Response from the target',JSON.stringify(proxyRes.headers, true, 2)); 
}); 


proxy.on('proxyReq', function (proxyRes, req, res) { 
    console.log('RAW Request from the target',JSON.stringify(proxyReq.headers, true, 2)); 
}); 

https://github.com/nodejitsu/node-http-proxy#listening-for-proxy-events

這些選項可以被添加到webpack.config.js爲devServer代理,像這樣:

{ 
    devServer: { 
     proxy: { 
      onProxyReq: function(proxyReq, req, res){ 
       proxyReq.setHeader('x-added', 'foobar'); 
      }, 
      cookieDomainRewrite: "" 
     } 
    } 
} 

https://github.com/chimurai/http-proxy-middleware#http-proxy-events

相關問題