(1)安装 mod_ssl模块 yum install mod_ssl
查找是否安装
[root@server /]# rpm -qa|grep mod_ssl
mod_ssl-2.2.15-69.el6.centos.x86_64
查看安装目录
[root@server /]# rpm -ql mod_ssl-2.2.15-69.el6.centos.x86_64
/etc/httpd/conf.d/ssl.conf
/usr/lib64/httpd/modules/mod_ssl.so
/var/cache/mod_ssl
/var/cache/mod_ssl/scache.dir
/var/cache/mod_ssl/scache.pag
/var/cache/mod_ssl/scache.sem
(2)修改/etc/httpd/conf/httpd.conf
在/etc/httpd/conf/httpd.conf添加
listen 443 (开启443端口)
LoadModule ssl_module modules/mod_ssl.so (开启SSL模块)
Include /etc/httpd/conf.d/ssl.conf (yum方式安装配置文件地址)
复制mod_ssl.so到/etc/httpd/modules下
cp /usr/lib64/httpd/modules/mod_ssl.so /etc/httpd/modules
netstat -tunlp|grep 443
(3)修改/etc/httpd/conf.d/ssl.conf
注释/etc/httpd/conf.d/ssl.conf中的
listen 443
LoadModule ssl_module modules/mod_ssl.so
删除
<VirtualHost _default_:443>
......
......
......
</VirtualHost>
合并证书
完整的 SSL 证书分为四个部分:
CA 根证书 (root CA)
中级证书 (Intermediate Certificate)
域名证书
证书私钥
以 COMODO PositiveSSL 证书为例,您将收到四份文件:(COMODO是一家SSL证书提供商)
根证书 – AddTrustExternalCARoot.crt
中级证书 – COMODORSAAddTrustCA.crt
中级证书 – COMODORSADomainValidationSecureServerCA.crt
您的域名证书 – example_com.crt
另外还有一份以.key结尾的私钥文件
可以将 域名证书,中间证书,根证书 串联为证书链,这样就能被绝大多数浏览器信任。使用 cat 命令串联证书:
cat example_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > example_com.bundle.crt
得到 example_com.bundle.crt 后,和密钥文件 example_com.key 一同上传至服务器并保存在安全的位置,例如/etc/ssl/private 目录下(没有此目录请创建)。
(4)安装SSL证书
范例:
#sitename-start:xxxx
<VirtualHost *:80>
AssignUserId xxxx clients
ServerName xxxx.com
ServerAlias xxxx.com
DocumentRoot /data/wwwroot/xxxx/wwwroot
php_admin_value open_basedir "/data/wwwroot/xxxx:/tmp"
CustomLog "|/usr/sbin/rotatelogs /data/logfiles/xxxx/access_log.%Y-%m-%d 86400 480" common
DirectoryIndex index.html index.htm index.php default.htm default.html
BandWidthModule On
ForceBandWidthModule On
BandWidth all 262144
Maxconnection all 300
AddHandler php-fastcgi .php
Action php-fastcgi /cgi-bin/php53
setenv PHPRC /data/userphpini/xxxx.ini
</VirtualHost>
#sitename-end:xxxx
在原有的80端口站点下新加一个443端口的站点
#sitename-start:xxxx:443
<VirtualHost *:443>
AssignUserId xxxx clients
ServerName xxxx.com
ServerAlias xxxx.com
DocumentRoot /data/wwwroot/xxxx/wwwroot
php_admin_value open_basedir "/data/wwwroot/xxxx:/tmp"
CustomLog "|/usr/sbin/rotatelogs /data/logfiles/xxxx/access_log.%Y-%m-%d 86400 480" common
DirectoryIndex index.html index.htm index.php default.htm default.html
BandWidthModule On
ForceBandWidthModule On
BandWidth all 262144
Maxconnection all 300
AddHandler php-fastcgi .php
Action php-fastcgi /cgi-bin/php53
setenv PHPRC /data/userphpini/xxxx.ini
SSLEngine on
SSLCertificateFile /data/wwwroot/rolandweb/rolandweb_ssl/xxxx.pem
SSLCertificateKeyFile /data/wwwroot/rolandweb/rolandweb_ssl/xxxx.key
</VirtualHost>
HTTP自动跳转到HTTPS步骤:
在你网站目录下放一个.htaccess文件。windows环境下,不能把文件直接改名为.htaccess,
会提示你必须输入文件名。所以我们先新建一个“新建文本文档.txt”文档,记事本打开,选择另存为,保存类型选择“所有文件(*.*)”,
文件名输入“.htaccess”,保存。这样便生成了一个.htaccess文件。
编辑器打开.htaccess文件,写入如下规则:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L]
</IfModule>
这样便实现了输入网址直接跳转到https下