Openssl生成ssl证书和apache 多站点ssl配置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Openssl生成ssl证书和apache 多站点ssl配置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3554字,纯文字阅读大概需要6分钟。
内容图文
要实现 一个Apache服务器上提供多个SSL虚拟主机 ,可以:
* 一个ip,为所有SSL虚拟主机配置单独的端口。比如,默认的虚拟主机使用443,其他的使用8080或8081等,且每个SSL虚
拟主机必须独占一个端口;(此种为我现在使用的)
* 为Apache服务器配置多个IP,每个SSL虚拟主机独占IP。如果只有一张物理网卡,可以配置为网卡配置子接口;
* 使用mod_gnutls模块,创建多个SSL虚拟主机
一 自签名证书生成
x509 证书一般会用到三类文, key , csr , crt 。
Key 是私用密钥openssl格,通常是rsa算法。
Csr 是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。
crt 是 CA 认证后的证书文,( windows 下面的,其实是 crt ),签署人用自己的 key 给你签署的凭证。
1.key 的生成
openssl genrsa -des3 -out server.key 2048
这样是生成 rsa 私钥, des3 算法, openssl 格式, 2048 位强度。 server.key 是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的 key:
openssl rsa -in server.key -out server.key
server.key 就是没有密码的版本了。
2. 生成CA的crt
openssl req -new -x509 -key server.key -out ca.crt -days 3650
生成的 ca.crt 文件是用来签署下面的 server.csr 文件。
3. csr 的生成方法
openssl req -new -key server.key -out server.csr (可将该csr提交给签证机构,生成crt证书)
需要依次输入国家,地区,组织, email 。最重要的是有一个 common name ,可以写你的名字或者域名。如果为了 https 申请,这个必须和域名吻合,否则会引发浏览器警报。生成的 csr 文件交给 CA 签名后形成服务端自己的证书。
4. crt 生成方法
CSR 文件必须有 CA 的签名才可形成证书,可将此文件发送到 verisign 等地方由它验证,要交一大笔钱,何不自己做 CA 呢。
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
输入 key 的密钥后,完成证书生成。 -CA 选项指明用于被签名的 csr 证书, -CAkey 选项指明用于签名的密钥, -CAserial 指明序列号文件,而 -CAcreateserial 指明文件不存在时自动生成。
最后生成了私用密钥: server.key 和自己认证的 SSL 证书: server.crt
证书合并:
cat server.key server.crt > server.pem
二 apache 多站点配置ssl
1. Apache中同一IP多个HTTPS虚拟主机的实现
使用ip:prot形式
Listen 8443
NameVirtualHost 210.14.71.11:443
NameVirtualHost
210.14.71.11:8443
<VirtualHost 210.14.71.11:443>
SSLEngine on
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /private/etc/apache2/ssl/server.crt
SSLCertificateKeyFile /private/etc/apache2/ssl/server.key
SSLCertificateChainFile /private/etc/apache2/ssl/ca.crt
SSLCACertificateFile /private/etc/apache2/ssl/AddTrustExternalCARoot.crt
ServerName dl.domaina.com
DocumentRoot
"/Volumes/RAID5/app/domaina/"
</VirtualHost>
<VirtualHost
210.14.71.11:8443>
SSLEngine on
DocumentRoot
"/Library/WebServer/domainb/"
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /private/etc/apache2/ssl/love.crt
SSLCertificateKeyFile
/private/etc/apache2/ssl/love.key
SSLCertificateChainFile
/private/etc/apache2/ssl/loveca.crt
ServerName
app.domainb.com
</VirtualHost>
2.
Apache中一张网卡绑定不同IP实现多个HTTPS虚拟主机
一张网卡绑定多个ip,ifconfig eth0:0......
<VirtualHost 220.181.75.109:8443>
ServerAdmin lala@corp.net.com
DocumentRoot
/home/lala/apache/htdocs/test
ServerName
a.test.com
SSLEngine on
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile
/home/lala/apache/conf/ssl.key/server.crt
SSLCertificateKeyFile
/home/lala/apache/conf/ssl.key/server.key
#Include
/home/lala/apache/conf/ssl.conf
#ErrorLog
logs/dummy-a.test.com-error_log
#CustomLog
logs/a.test.com-access_log
common
</VirtualHost>
<VirtualHost 220.181.75.65:8443>
ServerAdmin lala@corp.net.com
DocumentRoot
/home/lala/apache/htdocs/test2
ServerName
d.test.com
SSLEngine on
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile
/home/lala/apache/conf/ssl.key/server2.crt
SSLCertificateKeyFile
/home/lala/apache/conf/ssl.key/server2.key
#Include
/home/lala/apache/conf/ssl.conf
#ErrorLog
logs/dummy-a.test.com-error_log
#CustomLog
logs/a.test.com-access_log common
</VirtualHost>
原文:http://www.cnblogs.com/vjin/p/3610905.html
内容总结
以上是互联网集市为您收集整理的Openssl生成ssl证书和apache 多站点ssl配置全部内容,希望文章能够帮你解决Openssl生成ssl证书和apache 多站点ssl配置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。