HTTPS请求不能与Tomcat和SpringBoot一起使用

时间:2017-08-01 15:55:37

标签: spring tomcat spring-boot netflix-zuul spring-cloud-netflix

我目前正在尝试使用Spring Boot和Zuul启动反向代理并运行。 HTTP部分已经开始工作了。但是,如果我尝试通过HTTPS请求网站,例如curl https://twitter.com然后请求甚至无法达到我实现的逻辑。

处理在标准化URL的过程中停止,因为它看起来像这样:twitter.com:443。相关代码段的注释没有用处。

// The URL must start with '/'
if (b[start] != (byte) '/') {
  return false;
}

我没有太多配置就使用了所有东西,只是server.port:9999。我在这里遗漏了什么,或者为什么Tomcat不接受请求?

相关的Stacktrace:

org.apache.catalina.connector.CoyoteAdapter.normalize(CoyoteAdapter.java:1172)
org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:623)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)

更新

与此同时,我发现了差异。我想使用Zuul作为HTTP和HTTPS的代理。但是,命中服务器的请求与HTTP不同,但以下内容:

CONNECT twitter.com:443 HTTP/1.1
Host: twitter.com:443
User-Agent: curl/7.54.1
Proxy-Connection: Keep-Alive

甚至可以使用Spring Boot和Zuul构建HTTPS代理?

0 个答案:

没有答案