为 http-proxy-middleware 指定代理
Specifying proxy for http-proxy-middleware
我有一个连接到多个微型前端的 nodeJS 项目 services.When 我们进行最终部署 我们实际上将构建的 JS 和 HTML 部署在 WAR 文件中与后端。
但是,对于开发,我们使用 http-proxy-middleware
因此我们能够在前端进行快速更改和编辑并查看结果。
不过今天,我希望能够看到连接离开 NODE-JS 并转向我们的微服务。
具体来说,我想通过 fiddler(这是一个 http 代理,通常 运行 在端口 8888 上)对它们进行隧道传输。
有人知道怎么做吗?
我试过设置,例如以下但不影响传出连接:
npm 配置设置代理 http://localhost:8888
npm config set proxy http://localhost:8888
用于配置NPM通过代理下载包
您需要连接到 fiddler 的 HTTP 代理而不是您通常的后端,并使用相关的 HTTP headers 进行代理。
所以一个请求看起来像
http.get ({
host: '127.0.0.1',
port: 8888,
path: 'http://actual.backend/url'
}, function (response) {
console.log (response);
});
嗯,我的问题的答案是 use fiddler as a reverse proxy
:
https://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
一部分是偶然发现的。我想也许我不能拦截所有请求,但我可以将我的端点设置为提琴手。
我做到了,并在 Fiddler Echo Service
.
中看到了 fiddler 中的响应
它基本上显示类似于以下的页面:
Fiddler Echo Service
PUT /abc-service/initialize HTTP/1.1
accept-language: en-AU,en;q=0.9,el;q=0.8,en-NZ;q=0.7,en-US;q=0.6,en-GB;q=0.5
accept-encoding: gzip, deflate, br
accept: */*
postman-token: 0466cca5-21f9-67ab-be05-5227ef667fe4
user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36
origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
cache-control: no-cache
content-length: 0
connection: close
host: localhost:8889
X-Tenant-Id: abc
X-Forwarded-Proto: http
X-Forwarded-Force-Http-Protocol: true
X-Forwarded-Prefix: abc-service
This page returned a HTTP/200 response
Originating Process Information: node:15044
--------------------------------------------------------------------------------
•To configure Fiddler as a reverse proxy instead of seeing this page, see Reverse Proxy Setup ( https://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy )
•You can download the FiddlerRoot certificate
我有一个连接到多个微型前端的 nodeJS 项目 services.When 我们进行最终部署 我们实际上将构建的 JS 和 HTML 部署在 WAR 文件中与后端。
但是,对于开发,我们使用 http-proxy-middleware
因此我们能够在前端进行快速更改和编辑并查看结果。
不过今天,我希望能够看到连接离开 NODE-JS 并转向我们的微服务。
具体来说,我想通过 fiddler(这是一个 http 代理,通常 运行 在端口 8888 上)对它们进行隧道传输。
有人知道怎么做吗?
我试过设置,例如以下但不影响传出连接:
npm 配置设置代理 http://localhost:8888
npm config set proxy http://localhost:8888
用于配置NPM通过代理下载包
您需要连接到 fiddler 的 HTTP 代理而不是您通常的后端,并使用相关的 HTTP headers 进行代理。
所以一个请求看起来像
http.get ({
host: '127.0.0.1',
port: 8888,
path: 'http://actual.backend/url'
}, function (response) {
console.log (response);
});
嗯,我的问题的答案是 use fiddler as a reverse proxy
:
https://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
一部分是偶然发现的。我想也许我不能拦截所有请求,但我可以将我的端点设置为提琴手。
我做到了,并在 Fiddler Echo Service
.
它基本上显示类似于以下的页面:
Fiddler Echo Service
PUT /abc-service/initialize HTTP/1.1
accept-language: en-AU,en;q=0.9,el;q=0.8,en-NZ;q=0.7,en-US;q=0.6,en-GB;q=0.5
accept-encoding: gzip, deflate, br
accept: */*
postman-token: 0466cca5-21f9-67ab-be05-5227ef667fe4
user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36
origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
cache-control: no-cache
content-length: 0
connection: close
host: localhost:8889
X-Tenant-Id: abc
X-Forwarded-Proto: http
X-Forwarded-Force-Http-Protocol: true
X-Forwarded-Prefix: abc-service
This page returned a HTTP/200 response
Originating Process Information: node:15044
--------------------------------------------------------------------------------
•To configure Fiddler as a reverse proxy instead of seeing this page, see Reverse Proxy Setup ( https://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy )
•You can download the FiddlerRoot certificate