我有一个Java应用程序(Confluence)在nginx反向代理之后的Tomcat中运行。 Tomcatconfiguration如下:
<Connector port="8090" connectionTimeout="20000" redirectPort="8443" maxThreads="48" minSpareThreads="10" enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11NioProtocol" proxyName="wiki.somedomain.com" proxyPort="443" scheme="https" secure="true"/>
和nginx一样如下:
location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 600; client_max_body_size 10M; proxy_pass http://localhost:8090; }
应用程序的前端在一个点上发送POST请求,内容types为application / x-www-form-urlencoded,其中表单URL是“/rest/webResources/1.0/resources”。 该请求通过XHR请求发送。
这导致Tomcat回复以下错误:
url中的无效请求urlscheme:%2Frest%2FwebResources%2F1.0%2Fresources; 只支持“http”和“https”。
我希望这是一个普遍的问题,但无法find任何补救措施,除非人们放弃使用nginx作为tomcat应用程序的反向代理,这对我来说不是一个不幸的select。
任何帮助,我们高度赞赏。