一, apache 下载 安装
./configure --prefix=/usr/local/apache --enable-ssl
make
make install
加入环境变量 /etc/profile PATH="$PATH":/usr/local/apache/bin
source profile
建立CA : cd /usr/share/ssl/misc
./CA -newca 私钥: demoCA/private/cakey.pem
crt文件:demoCA/cacert.pem
二 . 生成服务器证书:
openssl genrsa -des3 -out server.key 1024(使用3DES加密并封装为PEM格式)
openssl req -new -key server.key -out server.csr使用这个RSA私钥创建一个证书签发请求(CSR)(这里的例子将封装为PEM格式):
对服务器端csr签证
mv server.csr /usr/share/ssl/misc newreq.pem (改名字)
./CA -sign
cp newcert.pem(生成的crt文件) /usr/local/apache/conf/server.crt
放开:include httpd-ssl.conf
开启服务 apachectl -k start
访问 https://localhost/ 默认index.html 在apache/htdocs/
三. 生成客户端证书:
mkdir ssl.crt
cp /usr/share/ssl/misc/demoCA/cacert.pem ssl.crt/ca.crt
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr
cp client.csr /usr/share/ssl/misc
openssl ca -in client.csr -out client.crt
转换成pkcs12格式,为客户端安装所用
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx
这一步根安装服务器的证书差不多,不同的是签证,最后安装的时候,client.pfx的密码要记住,在客户端安装的时候要用到的。
在http-ssl.conf 中:
SSLVerifyClient require
SSLVerifyDepth 10
在浏览器中导入client.pfx
连接:http://hi.baidu.com/wmsnet/blog/item/79b9710f6d11f6296159f385.html
默认以443端口访问 --enable-modules=so --enable-ssl=shared --enable-rewrite
<Directory "/var/www/html/phpMyAdmin"> Options FollowSymLinks AllowOverride all Order deny,allow Deny from all Allow from 192.168.100.0/24 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /var/www/html/phpMyAdmin RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}/phpMyAdmin/$1 [L,R] </IfModule> </Directory>
在同一个IP地址上增加一个名叫www.otherdomain.tld
的虚拟主机,你只需在httpd.conf
中加入以下内容:
NameVirtualHost *:80 <VirtualHost *:80> ServerName www.domain.tld ServerAlias domain.tld *.domain.tld DocumentRoot /www/domain </VirtualHost> <VirtualHost *:80> ServerName www.otherdomain.tld DocumentRoot /www/otherdomain </VirtualHost>