两个上游,一个http,另一个https
Two upstreams, one http, the other https
大家好!
我在设置 openresty 时遇到一个问题,请帮忙。
我有什么:openresty + lua。
Openresty 配置:
upstream a {
server 1.1.8.1:4707;
}
upstream c {
server 1.1.8.1:4707;
}
server {
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Url-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_ssl_verify off;
if ($request_method = POST ) {
set $upstream '';
access_by_lua '
ngx.req.read_body()
local match0 = ngx.re.match(ngx.var.request_body, "aaa.*")
local match1 = ngx.re.match(ngx.var.request_body, "bbb.*")
if match0 then
ngx.var.upstream = "a"
else
ngx.var.upstream = "c"
end
';
proxy_pass http://$upstream;
}
}
}
Objective:根据传入的请求方式向上游分发请求。请求以 json-rpc 格式发送。
问题:我有两个上游。一个上游通过 http 协议可用,另一个通过 https 可用,我没有遇到的问题如下,一次只有 1 个上游工作。
即使您创建单独的类似配置,也只有 1 个可用并且 1 个可以工作。
如果有人遇到,请帮助。
您如何指定可通过不同协议使用的多个上游?或者我没有正确注册配置?
即使在 openresty 设置中指定指令“proxy_ssl_verify off”也无济于事
提前致谢。
看看我的回答
您可以使用不同的上游和 proxy_* 指令配置 2 个内部位置,并通过 ngx.exec()
Lua API 进行内部重定向,最好在 rewrite_by_lua_block
[ 的上下文中进行=13=]
大家好! 我在设置 openresty 时遇到一个问题,请帮忙。 我有什么:openresty + lua。 Openresty 配置:
upstream a {
server 1.1.8.1:4707;
}
upstream c {
server 1.1.8.1:4707;
}
server {
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Url-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_ssl_verify off;
if ($request_method = POST ) {
set $upstream '';
access_by_lua '
ngx.req.read_body()
local match0 = ngx.re.match(ngx.var.request_body, "aaa.*")
local match1 = ngx.re.match(ngx.var.request_body, "bbb.*")
if match0 then
ngx.var.upstream = "a"
else
ngx.var.upstream = "c"
end
';
proxy_pass http://$upstream;
}
}
}
Objective:根据传入的请求方式向上游分发请求。请求以 json-rpc 格式发送。 问题:我有两个上游。一个上游通过 http 协议可用,另一个通过 https 可用,我没有遇到的问题如下,一次只有 1 个上游工作。 即使您创建单独的类似配置,也只有 1 个可用并且 1 个可以工作。 如果有人遇到,请帮助。 您如何指定可通过不同协议使用的多个上游?或者我没有正确注册配置? 即使在 openresty 设置中指定指令“proxy_ssl_verify off”也无济于事 提前致谢。
看看我的回答
您可以使用不同的上游和 proxy_* 指令配置 2 个内部位置,并通过 ngx.exec()
Lua API 进行内部重定向,最好在 rewrite_by_lua_block
[ 的上下文中进行=13=]