有没有转发 HTTP 请求的轮子?

2017-09-04 13:06:27 +08:00
 userlol

唯一要求:只要是监听 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
之自己写了个,单线程,效率低,有没有类似的轮子啊?谢谢各位

4276 次点击
所在节点    程序员
31 条回复
fuxkcsdn
2017-09-04 19:47:53 +08:00
openresty+1
zzzvvvxxxd
2017-09-04 20:46:27 +08:00
openresty
binux
2017-09-04 20:48:59 +08:00
nginx 弱?我们公司在 nginx 上做的用户认证系统。。
yidinghe
2017-09-04 21:08:43 +08:00
https://github.com/openresty/lua-nginx-module/blob/master/README.markdown

楼主看看这个能不能满足要求,用 lua 编写处理逻辑。
zhongshu
2017-09-04 21:46:03 +08:00
java,我用 jetty 写过一个根据 url 代理到不同地址,或本地路径的工具,jetty 干这个还挺好用的。
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)
pagxir
2017-09-04 23:15:09 +08:00
找个开源的 CDN 项目改改,基本满足你需求的了。比如 openCDN
togodo
2017-09-05 07:09:03 +08:00
这不就是代理服务器吗
haython
2017-09-05 09:48:35 +08:00
好像 nginx 新版本增加了 http 镜像功能
hdczsf
2017-09-05 10:31:09 +08:00
不用 nginx 的话,那可以尝试一下 kangle
https://www.kanglesoft.com/article-10-1.html
micean
2017-09-05 16:56:48 +08:00
vertx
代理只有几行代码
http 或 s 都可以
性能的话自己测试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/388006

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX