我是Nginx的新手。
我的要求是我需要进行服务调用,但随着代理传递该请求,我需要调用另一个服务/ servlet。为此,我决定使用Echo模块来使用echo_subrequest_async选项。
然而,子请求不起作用,甚至简单的回声打印也不起作用。 echo“hello”应该去哪里?到客户端(我猜)
以下是我的配置(一些注释):
nginx版本:nginx / 1.6.2 由clang 5.1构建(clang-503.0.40)(基于LLVM 3.4svn) 配置参数: - with-pcre = / Users / xxxx / project / pcre-8.35 --add-module = / Users / xxxx / project / echo-nginx-module-0.57 --with-cc-opt = -Wno-弃用-声明
我使用的nginx配置如下
http {
server {
listen 80;
server_name localhost;
# this will handle the initial request
location /messaging-service {
default_type "text/plain";
echo "in the messaging service call";
echo_flush;
echo_subrequest_async GET '/mywebapp/second';
proxy_pass http://localhost:8090/messaging-service/;
}
# this is where the sub request should go,note its different service
location /mywebapp/second {
echo "Going to make another call on different server !!";
echo_flush;
proxy_pass http://localhost:8080/mywebapp/second/;
}
}
}