我是服务器端的新手,想要在Eclipse环境下在eclipse的tomcat中configurationAJP连接器来启用SSL。
我想在不使用密钥库的情况下在tomcat中启用SSL。 我创build了key.pem,cert.pem和cert.crt。 而且不要接下来做什么。 任何身体可以帮助吗? 使用以下命令:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 999 openssl x509 -outform der -in cert.pem -out cert.crt
在server.xml
<Connector port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" SSLCertificateFile="/root/keyTest/cert.pem" SSLCertificateKeyFile="/root/keyTest/key.pem" clientAuth="optional" SSLProtocol="TLSv1"/>
但有一个错误
SEVERE: Failed to load keystore type JKS with path /root/.keystore due to /root/.keystore (No such file or directory) java.io.FileNotFoundException: /root/.keystore (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:146) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:413) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:319) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:577) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:517) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:462) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:209) at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:398) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:646) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434) at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119) at org.apache.catalina.connector.Connector.initInternal(Connector.java:978) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:821) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:638) at org.apache.catalina.startup.Catalina.load(Catalina.java:663) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454) May 12, 2015 3:58:56 PM org.apache.coyote.AbstractProtocol init SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-8443"] java.io.FileNotFoundException: /root/.keystore (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:146) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:413) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:319) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:577) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:517) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:462) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:209) at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:398) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:646) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434) at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119) at org.apache.catalina.connector.Connector.initInternal(Connector.java:978) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:821) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:638) at org.apache.catalina.startup.Catalina.load(Catalina.java:663) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454) May 12, 2015 3:58:56 PM org.apache.catalina.core.StandardService initInternal SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8443]] org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8443]] at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:821) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:638) at org.apache.catalina.startup.Catalina.load(Catalina.java:663) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454) Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed at org.apache.catalina.connector.Connector.initInternal(Connector.java:980) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) ... 12 more Caused by: java.io.FileNotFoundException: /root/.keystore (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:146) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:413) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:319) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:577) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:517) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:462) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:209) at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:398) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:646) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434) at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119) at org.apache.catalina.connector.Connector.initInternal(Connector.java:978) ... 13 more
能够执行相同的。
请参阅: – http://eves4code.blogspot.in/2015/05/configure-ssl-in-tomcat-localhost-using.html?q=ssl
请参阅以下步骤。
将上述3个文件复制到/opt/apache-tomcat-7.0.57/conf/
在server.xml中
您只需使用密钥库(或等效密钥库),因为您需要证书才能在浏览器中使用HTTPS。 您可以使用由OpenSSL生成的PKCS#12文件作为PKCS12types的密钥库。 或者,您可以使用APR连接器并直接使用PEM格式的密钥和证书。 https://stackoverflow.com/questions/30190681/enable-ssl-in-tmcat-without-using-keystore从https://tomcat.apache.org/download-native.cgi下载Tomcat本机源代码下载APR本地http: //apr.apache.org/download.cgi安装Apr / Native: http : //www.sheroz.com/installing-apache-tomcat-native-linux-ubuntu-1204
cd tomcat-native-1.1.27-src / jni / native ./configure –with-apr = / usr / local / apr –with-java-home = / home / foo / jdk1.7.0_25 –with- ssl =是让sudo make install请参阅: https : //stackoverflow.com/questions/18776378/tomcat-apr-native-library-not-loaded-even-when-present-and-configured https://stackoverflow.com/问题/ 8716259 /什么,做最APR-基于Apache的Tomcat的本机库中未find的均值
从/usr/local/apr/lib/,将tcnative-1.dll(或者libtcnative.so for Linux)复制到tomcat的bin文件夹中,并在eclipse中为tomcat服务器的启动configuration添加一个系统属性。 -Djava.library.path = C:\ dev的\ Tomcat的\ BIN
findcatalina home $ /opt/apache-tomcat-7.0.57/bin/catalina.sh version使用CATALINA_BASE:/usr/local/apache-tomcat-7.0.29使用CATALINA_HOME:/usr/local/apache-tomcat-7.0 .29使用CATALINA_TMPDIR:/usr/local/apache-tomcat-7.0.29/temp使用JRE_HOME:/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home使用CLASSPATH:/ usr / local / apache-tomcat- 7.0.29 / bin / bootstrap.jar:/usr/local/apache-tomcat-7.0.29/bin/tomcat-juli.jar服务器版本:Apache Tomcat / 7.0.29服务器内置:Jul 3 2012 11:31:52服务器编号:7.0.29.0操作系统名称:Mac OS X OS版本:10.7.4架构:x86_64 JVM版本:1.6.0_33-b03-424-11M3720 JVM供应商:Apple Inc.请参阅: https ://stackoverflow.com/questions / 11496280 /怎么办,我find的最值的,卡特琳娜家庭
创build/opt/apache-tomcat-7.0.64/bin/setenv.sh
JRE_HOME = / usr / java / latest CATALINA_PID =“$ CATALINA_BASE / tomcat.pid export LD_LIBRARY_PATH ='$ LD_LIBRARY_PATH:/ usr / local / apr / lib'
请参阅: http : //tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt https://stackoverflow.com/questions/9480210/tomcat-7-setenv-sh-is-not-found
catalin_pid – PID文件位于你告诉catalina脚本放置的地方。 CATALINA_PID是一个inputvariables,而不是输出。 你提供path/文件,tomcat把它的PID号码写入该文件的一行文本。 请参阅: http : //www.coderanch.com/t/503086/Tomcat/Expression-Tomcat-pid
JRE_HOME http://www.unix.com/shell-programming-and-scripting/43918-how-find-jre-installed-linux-machine.html
http://snipplr.com/view/50950/
添加环境variables到tomcatconfigurationhttps://stackoverflow.com/questions/6926382/eclipse-tomcat-apr
转到https:// localhost:8443
粘贴到项目的web.xml securedapp / CONFIDENTIAL请参阅: http : //java.dzone.com/articles/setting-ssl-tomcat-5-minutes不需要这一步/ 7.下一次从Eclipse中删除tomcat后,我们需要再次抄袭tomcat-native。 服务器 – >点击你的tomcat – >概述 – >点击'打开启动configuration' – > Tab'Enviroment – > New …
LD_LIBRARY_PATH – / usr / local / apr环境variables
请参阅: https : //stackoverflow.com/questions/6926382/eclipse-tomcat-apr
共享库必须由tomcat进程find。 在Linux上,您可以使用LD_LIBRARY_PATH环境variables。