tomcat配置ssl网上有很多的配置教程,tomcat配置utf-8的教程更多,
以前都用的nginx配置ssl,所以没有碰过这个问题,今天踩坑.
但是今天遇到了一个奇怪的问题,那就是配置ssl的时候碰到了UTF-8的问题
理论上我们已经在配置了UTF-8,和网上的配置说明都一致
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" URIEncoding="UTF-8" />
之后配置SSL
<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" disableUploadTimeout="true" enableLookups="false" maxThreads="25" port="443" keystoreFile="/home/tomcat/xxxx.jks" keystorePass="xxxx" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS"/>
唯一的问题就是UTF-8
,正常情况下,走8080端口
是正常的,但是在443端口
下却重新乱码了
乱码结果一样是utf-8
→iso8859-1
修改配置:
<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" disableUploadTimeout="true" enableLookups="false" maxThreads="25" port="443" keystoreFile="/home/tomcat/xxxx.jks" keystorePass="xxxx" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS" URIEncoding="UTF-8" />
结论:tomcat当中 redirectPort="443"
直接将请求丢给了443端口
,但是没有做字符集处理
需要自己在配置443端口
的地方配置
最新评论