我设法使我的Ubuntu支持HTTPS。如果在Chrome上,我想查看位于/ var / www的页面,则该页面显示良好(侧面为绿色锁定)。
但是我在tomcat上有问题。如果我想在Chrome的tomcat上查看页面,则会收到安全警告(和红色锁定)。另外,在Android中,我可以通过GET发出请求,但对于POST请求,我可以得到javax.net.ssl.SSLHandshakeException: Handshake failed
。我不知道如何获取密钥库,因此我创建了一个密钥库,并通过使其使server.xml支持它<Connector...
。有问题吗?
我如何才能使tomcat仅支持POST而不是GET?
好吧,如果您需要运行tomcat以使用HTTPS,则需要创建密钥库,并且如果需要在443端口中运行密钥库,则需要配置ubuntu以允许使用特权端口的tomcat。小于1024的端口号是特权端口。因此,您需要执行以下步骤。我不确定您的成就或成就。与此同时,我详细介绍了以下步骤。
特权端口(:80,443)上的Tomcat7
1)在server.xml中,更改该行
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="80" maxHttpHeaderSize="8192" protocol="HTTP/1.1"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
socketBuffer="18000"
compression="on" URIEncoding="UTF-8"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="application/javascript,text/html,text/xml,text/javascript,text/css,text/plain,application/json,text/json,a pplication/xml"/>
<Connector port="443" maxHttpHeaderSize="8192" protocol="HTTP/1.1" SSLEnabled="true"
scheme="https" secure="true"
keystoreFile="/path/to/my.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"
maxThreads="350" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" acceptCount="100"
connectionTimeout="60000" disableUploadTimeout="true"
bufferSize="4096"
compression="on"
compressionMinSize="2048" URIEncoding="UTF-8"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="application/javascript, text/html, text/xml,text/javascript, text/css,text/plain, application/json,text/json,application/xml"/>
2)安装authbind
sudo apt-get install authbind
3)使端口80可用于身份验证(您需要是root用户):
sudo su
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat7 /etc/authbind/byport/80
touch /etc/authbind/byport/443
chmod 500 /etc/authbind/byport/443
chown tomcat7 /etc/authbind/byport/443
4)将IPv4设置为默认值(authbind当前不支持IPv6)。为此,创建具有以下内容的文件$ TOMCAT_HOME / bin / setenv.sh:
CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
AUTHBIND=yes
5)将/usr/share/tomcat7/bin/startup.sh最后一行更改为以下内容。
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
# OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"
Tomcat密钥库的生成步骤:
$ JAVA_HOME / bin / keytool -genkey -alias Tomcat -keysize 2048 -keyalg RSA -validity 3650 -keystore /path/to/my.keystore
提供必要的信息并设置密码。默认密码为“ changeit”。
chmod 777 /path/to/my.keystore
而已。
注意:我已经为生产环境发布了tomcat server.xml的连接器标签。如果您在服务器配置较低的预生产环境中运行它,则最好避免或减少诸如max-min-Threads,查找,超时等标记内的选项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句