apache编译openssl
‘壹’ 如何在apache上安装SSL证书
一、安装openssl
下载Openssl安装包并解压,推荐使用默认配置 make && make install //编译及安装 ,openssl默认将被安装到/usr/local/ssl。
二、 让apache支持ssl,编译的时候,要指定ssl支持
静态方法即–enable-ssl=static –with-ssl=/usr/local/ssl
动态方法–enable-ssl=shared –with-ssl=/usr/local/ssl
其中第二种方法会在mole/ 目录下生成 mod_ssl.so 模块,而静态不会有,当然第二种方法也需要在httpd.conf 中加入LoadMole ssl_mole moles/mod_ssl.so
三、获取SSL证书
1)创建私钥。在创建证书请求之前,您需要首先生成服务器证书私钥文件。
cd /usr/local/ssl/bin //进入openssl安装目录
openssl genrsa -out server.key 2048 //运行openssl命令,生成2048位长的私钥server.key文件。如果您需要对 server.key 添加保护密码,请使用 -des3 扩展命令。Windows环境下不支持加密格式私钥,linux环境下使用加密格式私钥时,每次重启Apache都需要您输入该私钥密码(例:openssl genrsa -des3 -out server.key 2048)。
cp server.key /usr/local/apache/conf/ssl.key/
2)生成证书请求(CSR)文件
openssl req -new -key server.key -out certreq.csr
Country Name: //您所在国家的ISO标准代号,中国为CN
State or Province Name: //您单位所在地省/自治区/直辖市
Locality Name: //您单位所在地的市/县/区
Organization Name: //您单位/机构/企业合法的名称
Organizational Unit Name: //部门名称
Common Name: //通用名,例如:www.anxinssl.com。此项必须与您访问提供SSL服务的服务器时所应用的域名完全匹配。
Email Address: //您的邮件地址,不必输入,直接回车跳过
“extra”attributes //以下信息不必输入,回车跳过直到命令执行完毕。
3)备份私钥并提交证书请求
请将证书请求文件certreq.csr提交给安信证书,并备份保存证书私钥文件server.key,等待证书的签发。服务器证书密钥对必须配对使用,私钥文件丢失将导致证书不可用。
四、安装SSL证书
为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级CA证书(不同品牌证书,可能只有一张中级证书)。
从邮件中获取中级CA证书:
将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包括“—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”)粘贴到同一个记事本等文本编辑器中,中间用回车换行分隔。修改文件扩展名,保存为conf/ssl.crt/intermediatebundle.crt文件(如果只有一张中级证书,则只需要保存并安装一张中级证书)。
五、完成apache配置 2.0的配置
httpd.conf 中增加
Listen443
NameVirtualHost *:443
DocumentRoot “/data/web/www”
ServerName aaa.com:443
ErrorLog “logs/error.log”
CustomLog “logs/access.log” combined
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/intermediatebundle.crt
‘贰’ 如何在不卸载现有OpenSSL的情况下源码安装配置新版OpenSSL+Apache
首先是把新版本OpenSSL的安装路径加入$PATH
sudo gvim ~/.bashrc在文件末尾加上:
PATH="$PATH:/usr/local/openssl/bin:"export PATH然后保存
将/usr/bin/openssl改名
/usr/bin$ sudo mv openssl openssl0.9.8这样的就可以在命令行中直接使用新版的OpenSSL了
$ openssl version -aOpenSSL 1.0.1c 10 May 2012built on: Sun Jul 22 20:43:26 CST 2012platform: linux-elfoptions: bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) idea(int) blowfish(idx) compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASMOPENSSLDIR: "/usr/local/openssl/ssl"变更include头文件:
/usr/include$ sudo mv openssl openssl0.9.8/usr/include$ sudo cp -r /usr/local/openssl/include ./还需要重新编译Apache才能使用新版的OpenSSL
$ ./configure --prefix=/usr/local/apache2.4 --with-layout=Apache --enable-molues=most --enable-mods-shared=all --with-mpm=prefork --with-ssl=/usr/local/openssl注意最后一句是启用新版OpenSSL的关键
然后就是套路了,make && make install
配置……
然后测试一下,证明已经可以用的一个证据是:
./ab -t 5 -c 100 -n 20000 https://127.0.0.1/index.htmlThis is ApacheBench, Version 2.4 (OpenSSL 1.0.1c 10 May 2012)看来以后要多用源码安装,少用系统预编译的包,不然可更新软件可真是麻烦呀
‘叁’ linux已安装的apache怎么开启openssl
openssl多数和lighttpd、apache等结合使用。安装openssl库应该不难,我不知道你用什么版本的linux,像debian就用apt-get install openssl,ubuntu用sudo apt-get install openssl。其他版本的安装包也都差不多,大同小异。
‘肆’ 虚拟主机搭建的网站如何安装SSL证书
更改文件名以匹配您的证书文件:
SSLCertificateFile应当是您的Comodo证书文件(如your_domain_name.crt)。
SSLCertificateKeyFile应当是创建CSR时所生成的密钥文件。
SSLCertificateChainFile应当是Comodo中间证书文件(ComodoRSACA.crt)
如果SSLCertificateChainFile指令不能正常运行,试着使用SSLCACertificateFile 命令。
5. 重启前测试Apache配置
重启前检查Apache配置文件以查看是否有任何错误总是最好的,因为如果您的配置文件有语法错误,Apache将不能启动。运行以下命令:(在一些系统上是apache2ctl)
apachectl configtest
6. 重启Apache
您可以使用apachectl命令来停止和启动支持SSL的服务器:
apachectl stop
apachectl start
注意:如果支持SSL的服务器不能启动,尝试使用“apachectl startssl”而不是“apachectl start”。如果SSL支持只能加载“apachectl startssl”,我们建议您调整Apache的启动配置,将SSL支持包括在常规的“apachectl start”命令中。否则,您的服务器在重启时可能会要求使用“apachectl startssl”手动重启Apache。这通常包括移除封装您的SSL配置的<IfDefine SSL> 和</IfDefine>标签。
Apache SSL证书、指南和教程
疑难排解:
1. 如果你的web网站是公共可访问的,我们的SSL证书检查器(https://secure.comodo.com/utilities/sslchecker.html)工具能够帮助你诊断常见的问题。
2. 如果您为了满足PCI合规性要求,需要禁用第二个版本SSL的兼容性,你将需要添加以下命令到你的Apache配置文件中:
SSLCipherSuite HIGH:+MEDIUM:!SSLv2:!EXP:!ADH:!aNULL:!eNULL:!NULL
如果命令已经存在,你将可能需要对它进行修改,禁用第二个版本的SSL。
‘伍’ 如何在Apache下php开启openssl模块
将apache的配合之文件中的httpd.conf中的 #LoadMole ssl_mole moles/mod_ssl.so 前面的#去掉就好了。
如果还没有打开的话就可能是apache版本带的mod_ssl.so库有问题,网络找一个替换原来的应该就可以了。
‘陆’ tomcat8.5之后怎么配置https双向认证
1、 编译安装 openssl
2、 编译安装 apacheapr
3、 编译 tomcatnative 库
4、 配置 tomcatserver.xml 文件
部署安装目录说明 /data/java JAVA_HOME /data/tomcat Tomcat 的目录 /data/tomcat/crt 证书存放目录 /data/tomcat/linux_libs openssl/apache apr/tomcat native 的安 装目录,本文档下面的内容将指引大家 如何编译安装这些软件到该目录下
(一)编译 openssl
1、下载 openssl,官方网址:http://www.openssl.org/,本文档编写时最新版 本为:openssl-1.0.1l 2、解压、编译、安装 tarxzf openssl-1.0.1l.tar.gz cdopenssl-1.0.1l ./configshared--prefix=/data/tomcat/linux_libs make makeinstall
(二)编译 apacheapr 1、下载 apacheapr,官方网址:http://apr.apache.org/download.cgi,本文档 编写时最新版本为:apr-1.5.1 2、解压、编译、安装 tarxzf apr-1.5.1.tar.gz cdapr-1.5.1 ./configure--prefix=/data/tomcat/linux_libs make makeinstall
(三)编译 tomcatnative tomcatnative 跟随在 tomcat 发布包的 bin 目录下,一下是解压、编译、安装 步骤: cd/data/tomcat/bin tarxzf tomcat-native.tar.gz cdtomcat-native-* ./configure--with-ssl=/data/tomcat/linux_libs\ --with-apr=/data/tomcat/linux_libs\ --with-java-home=/data/java\ --prefix=/data/tomcat/linux_libs make makeinsall
(四)配置 tomcatserver.xml 文件 腾讯提供的证书包中,有 3 个文件需要在本次配置中使用 ***.crt 服务器端证书,下面配置案例中重命名为:server.crt ***.key 服务器端证书私钥,下面配置案例中重命名为:server.key ca.crt 受信任根证书,用来校验客户端(腾讯侧)证书的合法性
<Connector
protocol="org.apache.coyote.http11.Http11AprProtocol" port="443" maxThreads="200" scheme="https"secure="true" SSLEnabled="true" SSLCertificateFile="/data/tomcat/crt/server.crt" SSLCertificateKeyFile="/data/tomcat/crt/server.key" SSLVerifyClient="require" SSLCACertificateFile="/data/tomcat/crt/ca.crt" />
注意:
第三方的腾讯的发货回调监听端口只能是 443
出于安全考虑,请关闭 Tomcat 的 HTTP8080 或者 HTTP80 端口
(五)配置 Tomcat环境变量 往/data/tomcat/bin/setenv.sh 中添加两个环境变量:
cat>/data/tomcat/bin/setenv.sh<<EOF exportJAVA_HOME=/data/java exportLD_LIBRARY_PATH=/data/tomcat/linux_libs/lib EOF
完成后记得重启 Tomcat!
‘柒’ 如何在apache上安装SSL证书
在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key;
打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”。
#LoadMole ssl_mole moles/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)#Include conf/extra/httpd-ssl.conf(删除行首的配置语句注释符号“#”,保存后退出)
打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
# 添加 SSL 协议支持协议,去掉不安全的协议SSLProtocol all -SSLv2 -SSLv3# 修改加密套件如下SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUMSSLHonorCipherOrder on# 证书公钥配置SSLCertificateFile cert/a_public.crt# 证书私钥配置SSLCertificateKeyFile cert/a.key# 证书链配置,如果该属性开头有 '#'字符,请删除掉SSLCertificateChainFile cert/a_chain.crt
重启 Apache。
apachectl -k stop
apachectl -k start
‘捌’ apache 在httpd.conf里启用mod_ssl.so报错怎么解决
apache配置SSL证书请参考:http://www.wosign.com/support/ssl-Apache2.htm
‘玖’ 在linux apache php环境下,如何配置php的openssl模块各位,给提供一些相关的文章
找到php的配置文件 找到openssl这个单词 把前面的;号 删掉