Open wkwen opened 1 year ago
@wkwen 你好,方便发一下 mosn 配置吗
这个其实和我的配置是没关系的,我只是想知道mosn怎么实现代理访问upstream的方法 以下列配置为例,我想要访问www.baidu.com,但是公司内网需要挂代理才能访问,这个代理在配置文件或者代码哪块可以添加
"disable_upgrade" : true,
"servers":[
{
"default_log_path":"stdout",
"routers":[
{
"router_config_name":"client_router",
"virtual_hosts":[{
"name":"clientHost",
"domains": ["*"],
"routers": [
{
"match":{"prefix":"/"},
"route":{"cluster_name":"clientCluster"}
}
]
}]
}
],
"listeners":[
{
"name":"clientListener",
"address": "127.0.0.1:2045",
"bind_port": true,
"filter_chains": [{
"filters": [
{
"type": "proxy",
"config": {
"downstream_protocol": "Http1",
"router_config_name":"client_router"
}
}
]
}]
}
]
}
],
"cluster_manager":{
"clusters":[
{
"name": "clientCluster",
"type": "SIMPLE",
"lb_type": "LB_RANDOM",
"max_request_per_conn": 1024,
"conn_buffer_limit_bytes":32768,
"hosts":[
{"address":"www.baidu.com"}
]
}
]
},
"admin": {
"address": {
"socket_address": {
"address": "0.0.0.0",
"port_value": 34901
}
}
}
}
@3062 请问有mosn讨论群吗? 官网上面的钉钉讨论群二维码图片一直点不开
@wkwen 钉钉群:33547952
@3062 你好,已经申请加入了,还有上面的代理问题mosn目前有解决方案吗?
其实就一条记录而已。你可以理解 dns 是原来地址 a ,现在的地址是 b。修一下服务pubsub 逻辑就可以了。
其实就一条记录而已。你可以理解 dns 是原来地址 a ,现在的地址是 b。修一下服务pubsub 逻辑就可以了。
客户端可能会访问很多外网请求,不同的外网请求会使用不同的代理 使用go的服务的话是这样的。不同的代理请求会创建不同的http client
// 代理地址
proxyUrl := "http://10.123.11.11:8888"
// 真实地址
realUrl := "http://www.baidu.com"
proxy := func(_ *http.Request) (*url.URL, error) {
return url.Parse(proxyUrl)
}
c := &HttpClient{
addr: realUrl,
hc: &http.Client{
Transport: &http.Transport{
Proxy: proxy
}
}
}
c.Get(xxx)
挺有意思的一个需求场景 没理解错的话,应该是跟上游建立连接的时候,需要通过这个代理去建立连接
据我所知,mosn 应该还不支持这种用法 如果想支持的话,可以看下这块的代码,如果只需要 http 协议支持的话,应该改动量也还好 https://github.com/mosn/mosn/blob/d58990ebee163efa57a9dd01d6edd7037326be70/pkg/stream/http/connpool.go#L298
挺有意思的一个需求场景 没理解错的话,应该是跟上游建立连接的时候,需要通过这个代理去建立连接
据我所知,mosn 应该还不支持这种用法 如果想支持的话,可以看下这块的代码,如果只需要 http 协议支持的话,应该改动量也还好
感谢,我已经知道在哪儿改了,需要改一下http的报文发送格式
Your question
我现在用的非透明代理,客户端访问mosn的地址,然后把真正访问的地址放在host里面去转发 例如客户端要访问百度 curl 127.0.0.1:15001 --header 'x-mosn-host: www.baidu.com' 这样就能访问到了 但是现在的情况是,内网不能访问百度,需要挂代理才能访问 例如 curl -i www.baidu.com -x 10.152.11.11:7000 所以这里的话,mosn是如何在访问百度的时候,用代理去访问,请我我需要怎么设置,或者改哪块的代码
Environment
Logs