我在Tomcat下开发了一个代理servlet,servlet接收客户端的请求并转发到另一个代理服务器,在转发之前,它会与代理服务器进行身份验证。现在它可以很好地处理 HTTP 请求但无法接收 HTTPS 请求。所以这个代理 servlet 并不完美。
我在这个论坛上搜索了谷歌并阅读了很多帖子,尤其是这个:
我配置Tomcat监听8443端口,如下:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
keystoreFile="${user.home}/.keystore" keystorePass="changeit"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" redirectPort="8080"/>
我在 eclipse 中本地部署了 servlet,并将浏览器代理设置为 127.0.0.1:8080,但绕过它访问 localhost。
当我浏览 https://localhost:8443/ 时,我可以看到在 servlet 日志中收到的 https 请求(通过调用 request.getScheme() 和 request.isSecure())。但是如果我浏览https://www.google.com,它就无法连接,并且我的代理 servlet 没有捕捉到请求。
我还重写了 service() 方法并打印了 request.getMethod() ,但仍然未能捕获 HTTPS 请求。
我应该怎么办?
我想要的只是获取 HTTPS 请求并添加身份验证并转发到下一个代理服务器。
谢谢