唯一要求:只要是监听 80 端口,接收 HTTP 请求,然后转发给相应目的主机。
只要转发 HTTP 请求,HTTPS 支持都无所谓,也不需要向 FQ 工具那样 TCP 转发,希望是应用层转发就好,这样用起来也方便。
举例:比如在 10.0.1.123 的 hosts 中指定了 10.0.1.110 www.test.com, 随后收到来自 10.0.1.123 的请求,该 proxy 将 GET /index.htm HTTP/1.1 ...请求转发至真正主机 123.113.110.134 ,并将回复 HTTP 302 Found 发回 10.0.1.123
之自己写了个,单线程,效率低,有没有类似的轮子啊?谢谢各位
1
msg7086 2017-09-04 13:08:43 +08:00
为什么要回复 302 ?
|
2
pathletboy 2017-09-04 13:10:10 +08:00
nginx?
|
5
novaeye 2017-09-04 13:11:28 +08:00
各种反向代理工具都可以吧. 比如 haproxy, 比如 nginx, 又比如 caddy : https://caddyserver.com
|
6
msg7086 2017-09-04 13:13:01 +08:00
如果你用 Windows 的话,IIS 也应该可以做反代。
|
7
tinytin 2017-09-04 13:13:23 +08:00 via iPhone
nginx 最方便了
|
8
userlol OP @msg7086
@novaeye @pathletboy 先谢谢各位,之前我自己写的原因就是要修改 HTTP 请求里的内容(不是干坏事,自用),nginx 的话,这方面感觉太弱了。有开源轮子可以用吗? |
9
userlol OP 为什么 4 分钟就不能编辑了呢,也不能 append
插一句,希望轮子能修改 http response,抱歉忘了提这个需求 |
10
jobtesting 2017-09-04 13:18:40 +08:00
fiddler 不行?
|
11
t1518968889 2017-09-04 13:19:10 +08:00 via Android
镜像?
|
13
msg7086 2017-09-04 13:26:54 +08:00
@userlol 有多弱?你要改什么? nginx 里带着一套 lua 引擎你试过么……
上面说的 fiddler 也是一个,能写脚本改请求的。 只是改 response 的话 nginx 里有替换字符串的功能。 无回复的时候可编辑,30 分钟还是多少分钟后可 append。 |
14
tradzero 2017-09-04 13:27:55 +08:00 via Android
nginx 反代太弱???
|
15
hellove1985 2017-09-04 13:35:29 +08:00
mitmproxy ?
|
16
fcka 2017-09-04 13:38:06 +08:00 via Android
openresty
|
17
Immortal 2017-09-04 13:43:20 +08:00
openresty+1
|
18
msg7086 2017-09-04 14:40:01 +08:00
你还是 nginx 吧,自己写模块也行,lua 脚本处理 response 也行。
https 代理原生支持,当然你要获取 response 必须要先解密再改数据再重新加密。 |
19
whileFalse 2017-09-04 15:23:03 +08:00
拿 go 裸写,50 行要不了
|
20
nullcc 2017-09-04 16:39:58 +08:00
openresty 可以有
|
21
fuxkcsdn 2017-09-04 19:47:53 +08:00 via iPhone
openresty+1
|
22
zzzvvvxxxd 2017-09-04 20:46:27 +08:00
openresty
|
23
binux 2017-09-04 20:48:59 +08:00
nginx 弱?我们公司在 nginx 上做的用户认证系统。。
|
24
yidinghe 2017-09-04 21:08:43 +08:00 via Android
https://github.com/openresty/lua-nginx-module/blob/master/README.markdown
楼主看看这个能不能满足要求,用 lua 编写处理逻辑。 |
25
zhongshu 2017-09-04 21:46:03 +08:00
java,我用 jetty 写过一个根据 url 代理到不同地址,或本地路径的工具,jetty 干这个还挺好用的。
|
26
mengskysama 2017-09-04 21:56:10 +08:00
openresty 2 行搞定了吧....
local res = ngx.location.capture(ngx.var.scheme .. "://" .. ngx.var.host .. ngx.var.uri) res.say("body:" .. res.body) |
27
pagxir 2017-09-04 23:15:09 +08:00
找个开源的 CDN 项目改改,基本满足你需求的了。比如 openCDN
|
28
togodo 2017-09-05 07:09:03 +08:00
这不就是代理服务器吗
|
29
haython 2017-09-05 09:48:35 +08:00
好像 nginx 新版本增加了 http 镜像功能
|
30
hdczsf 2017-09-05 10:31:09 +08:00
不用 nginx 的话,那可以尝试一下 kangle
https://www.kanglesoft.com/article-10-1.html |
31
micean 2017-09-05 16:56:48 +08:00
vertx
代理只有几行代码 http 或 s 都可以 性能的话自己测试 |