我让 Nginx 作为许多服务的代理运行,包括在端口 8080 上运行的 Geoserver,其配置如下:
location ^~ /wms/ {
rewrite ^/wms/(.*)$ /geoserver/ows$1 break;
proxy_pass http://127.0.0.1:8080;
proxy_connect_timeout 60s;
proxy_read_timeout 150s;
}
以及避免SOP问题的代理服务,其工作原理如下:
location ^~ /proxy/?targetURL= {
rewrite ^/proxy/?targetURL=(.*)$ $1 break;
proxy_pass $1;
proxy_connect_timeout 60s;
proxy_read_timeout 150s;
}
我的网络服务器也在同一个域下,由端口 8888 上的码头运行,由同一个代理处理。
location / {
proxy_pass http://127.0.0.1:8888;
proxy_connect_timeout 60s;
proxy_read_timeout 150s;
}
我从我的 Web 应用程序通过代理服务向 WMS 服务器发出数据调用。它对外部服务器运行良好,但当我调用自己的内部地理服务器时它会挂起。我的地理服务器代理运行良好,我可以使用所述 URL 进行 WMS 服务查询。
挂断的电话基本上是:
http://mywebappdomain.com/proxy/?targetURL=http://mywebappdomain.com/wms/?my_set_of_parameters
这意味着代理规则适用并且从同一台服务器调用 WMS 服务。
代理本身存在问题吗?