2016-01-17 18 views
11

Tôi đang cố gắng thiết lập proxy trong máy chủ webpack của mình. Vấn đề là tôi không kiểm soát máy chủ mà tôi đang kết nối và tôi cần phải xác thực yêu cầu.Tôi có thể thêm cookie vào proxy máy chủ webpack dev không?

Có cách nào để tôi có thể thêm cookie vào yêu cầu tôi gửi tới máy chủ proxy không? Tôi đã xem qua webpack dev server proxy server page và trang node-http-proxy mà nó liên kết đến và tôi không thấy bất kỳ đề cập nào về cookie. Tôi cũng không chắc chắn có cách nào để tôi thấy những yêu cầu được chuyển tiếp này hay không, vì vậy tôi không thể nói bất cứ điều gì tôi đang cố gắng đang làm gì cả.

Bất kỳ ý tưởng nào?

Trả lời

1

Sau khi xem xét kỹ hơn, có vẻ như máy chủ dev sẽ chuyển tiếp bất kỳ cookie nào bạn gửi. Đã không làm việc cho việc xác thực tôi đã cố gắng làm, tôi đoán Amazon có một số an ninh hơn tại chỗ mà tôi không thể giải thích, nhưng đó là câu trả lời.

Thêm cookie vào yêu cầu bạn đang gửi tới máy chủ dev và thiết lập proxy đúng cách.

2

Nếu bạn chỉ cần viết lại miền cookie cho proxy, hãy xem tùy chọn cookieDomainRewrite trong nút-http-proxy.

Ngoài ra nếu bạn muốn tìm một cách để tiêm trong hành vi tùy chỉnh xung quanh tập tin cookie trên yêu cầu/phản ứng, sau đó kiểm tra các sự kiện bạn có thể treo trong để:

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

Các tùy chọn này có thể được bổ sung vào webpack.config.js cho proxy devServer, như thế này:

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

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

Các vấn đề liên quan