如何通过代理发起请求?

68 views
Skip to first unread message

嘟嘟噜

unread,
Oct 14, 2016, 5:09:44 AM10/14/16
to openresty
如何通过代理发起请求?
比如:
正常咱们使用 socket:tcp 创建请示 然后 connect(host, port) 进行连接代码如下:
 
-- check.lua

local portHandler = function(premature, ip_address, port)
    local sock = ngx.socket.tcp()
    sock:settimeout(300)
    local ok, err = sock:connect(ip_address, port)

    if ok then
        --        数据库处理或文件处理写入历史
    else
        ngx.log(ngx.ERR, "port_handler_error: " .. ip_address, err)
    end
    sock:close()
end
以上方法在没有任何限制的情况下是可以使用的。
当如果内网有限制,比如需要访问外网就必须得使用代理的时候,我们要如何通过代理交tcp请求发出去?

DeJiang Zhu

unread,
Oct 15, 2016, 5:23:09 AM10/15/16
to open...@googlegroups.com
Hello

首先得看你的代理支持什么协议

如果你能自己设置代理,用 stream 系统做一个 tcp proxy
那把 ip_address 改成你的代理 ip,stream 的 upstream 设置为你的目标 ip 即可

ps: 这个问题貌似与 OR 无关

--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty+subscribe@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+unsubscribe@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html

Reply all
Reply to author
Forward
0 new messages