CentOS 6.2 apache安装配置服务器安全证书
1.安装环境准备:
1 |
#yum install httpd mod_ssl openssl openssl-devel -y |
安装完成后,默认apache的配置文件在/etc/httpd 下。
2.修改/etc/httpd/conf/httpd.conf 增加一个mod_ssl加载模块
LoadModule这个地方增加一个mod_ssl加载模块(大概在200行左右,在下面手动添加一个即可)
1 |
#LoadModule ssl_module modules/mod_ssl.so |
然后保存退出。
3.安全证书的获取:
获取服务器证书中级CA证书 为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级CA证书(以证书签发邮件为准,部分证书产品只有一张中级证书)。 从邮件中获取中级CA证书: 将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到同一个记事本等文本编辑器中,中间用回车换行分隔。修改文件扩展名,保存为intermediatebundle.crt文件(如果只有一张中级证书,则只需要保存并安装一张中级证书)。
获取服务器证书 将证书签发邮件中的从BEGIN到 END结束的服务器证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”) 粘贴到记事本等文本编辑器中,保存为server.crt文件
4.将安全证书上传至服务器
然后获取到证书后需要准备三个文件 :server.key server.crt 还有一个intermediatebundle.crt。后面两个证书文件已经有,server.key是你申请证书时候用的key文件。
在conf下新建两个文件夹ssl.crt 和 ssl.key 然后把两个证书文件crt上传到ssl.crt文件夹中。server.key上传到ssl.key文件夹中
5.修改/etc/httpd/conf.d/ssl.conf 引用证书
编辑/etc/httpd/conf.d/ 下ssl.conf文件(如果没安装mod_ssl扩展,是没这个文件的。所以如果没有yum安装一下:yum install mod_ssl).
在78行左右有个DocumentRoot 选项 这里需要配置一下应用目录 如果不配置你的应用是没法通过https访问的所以必须配置。
我配置了以下的东西。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
DocumentRoot "/var/www/test/webroot" <Directory /var/www/test/webroot> Options -Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all DirectoryIndex index.php index.html </Directory> RewriteEngine on RewriteRule ^.*.svnb.* /error.html [L] RewriteRule .py$ /error.html [L] RewriteRule ^(.*)/user/(.*)/(.*)/(.*)$ $1/index.php?user&user_id=$2&q=code/$3/$4 RewriteRule ^(.*)/user/(.*)/(.*)$ $1/index.php?user&user_id=$2&q=code/$3 RewriteRule ^(.*)/user/(.*)$ $1/index.php?user&user_id=$2 RewriteRule ^(.*)/u/(.*)/(.*)$ $1/index.php?home&user_id=$2&q=$3 RewriteRule ^(.*)/u/(.*)$ $1/index.php?home&user_id=$2 RewriteRule ^(.*)/(.*)/(.*)/index.html$ $1/index.php?$2&nid=$3 RewriteRule ^(.*)/(.*)/(.*)/index(.*).html$ $1/index.php?$2&nid=$3&page=$4 RewriteRule ^(.*)/(.*)/(.*)/a(.*).html$ $1/index.php?$2&nid=$3&article_id=$4 RewriteRule ^(.*)/(.*)/index.html$ $1/index.php?$2 RewriteRule ^(.*)/(.*)/index(.*).html$ $1/index.php?$2&page=$3 RewriteRule ^(.*)/(.*)/a(.*)_(.*).html$ $1/index.php?$2&article_id=$3&page=$4 RewriteRule ^(.*)/(.*)/a(.*).html$ $1/index.php?$2&article_id=$3 RewriteRule ^(.*)/51creditcard$ $1/index.php?user&q=reginvite&u=cmVnX2ludml0ZTI1Nw== ErrorDocument 404 /error.html |
保存退出。
重启一下apache
#service httpd restart 然后就可以通过https://网站域名 来访问了。
对了还需要注意一个问题就是,使用https访问的话,如果你的网站有src ="http://......" 这种http资源连接的话都需要换成https。否则访问不了。