本文共 2453 字,大约阅读时间需要 8 分钟。
一、验证resin是否支持openssl,只要看启动日志就知道了。是否包含openssl
resin本身调用jni,如果编译后添加支持,可以优化resin性能,所以我编译的参数加了jni
1 2 3 | Using Resin(R) Open Source under the GNU Public License (GPL). See http: //www .caucho.com for information on Resin Professional, including caching, clustering, JNI acceleration, and OpenSSL integration. |
二、需要openssl,resin 本身需要编译支持openssl
1 2 3 4 5 | yum install openssl openssl-devel -y cd resin-4.0.44 . /configure --prefix= /usr/local/resin4 .0.44 -- enable -64bit -- enable -ssl --with-openssl= /usr/ make make install |
三、编写env.sh
每个项目都可以有自己的env,这样服务器可以有多个Java版本,多个resin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | JAVA_HOME= /usr/java/jdk1 .6.0_33 PATH=$JAVA_HOME /bin :$PATH export JAVA_HOME PATH RESIN_HOME= /usr/local/resin4 .0.44 export RESIN_HOME SERVER_ROOT= /home/ 项目名 LD_LIBRARY_PATH=$RESIN_HOME /lib #LD_LIBRARY_PATH=$SERVER_ROOT/etc CLASSPATH=$LD_LIBRARY_PATH:$CLASSPATH export SERVER_ROOT LD_LIBRARY_PATH CLASSPATH ## for linux #LANG=en_US.iso88591 LANG=zh_CN.gbk export LANG |
四、删除多余的配置文件
删除cluster-default.xml health.xml 这都是pro版才有的功能
五、上传证书
将生成的csr key或者jks证书上传到 resin/keys 目录下,keys目录如果没有就自己建个
六、修改resin.xml
1 2 3 4 5 6 7 8 9 | <http port= "443" > <openssl> <certificate-key- file >keys /your_domain .key< /certificate-key-file > <certificate- file >keys /your_domain .crt< /certificate-file > <certificate-chain- file >keys /chain .txt< /certificate-chain-file > <password>test123< /password > <protocol>-sslv3< /protocol > < /openssl > < /http > |
jks
1 2 3 4 5 6 7 8 9 | <http port= "8443" > <jsse-ssl> <key-store- type >jks< /key-store-type > <key-store- file >keys /server .keystore< /key-store-file > <password>changeit< /password > < /jsse-ssl > < /http > < /server-default > |
七、或者不动resin.xml,修改resin.properties
1 2 3 4 5 6 7 8 9 10 11 12 | # OpenSSL certificate configuration # Keys are typically stored in the resin configuration directory. # openssl_file : keys/test.crt # openssl_key : keys/test.key # openssl_password : changeme # openssl_protocols : -sslv2 -sslv3 # JSSE certificate configuration # Keys are typically stored in the resin configuration directory. # jsse_keystore_type : jks # jsse_keystore_file : /usr/local/resin4/keys/server.keystore # jsse_keystore_password : changeme |
八、问题
如果遇到如下问题,就是你的证书没有密码或者你密码写错了
jks证书报错:
1 | Keystore was tampered with, or passwordwas incorrect |
openssl证书报错
1 | java.lang.ClassNotFoundException: com.caucho.vfs.OpenSSLFactory |