linux环境apache安装SSL证书

    文章来源:中国互联 更新时间:2018-12-3 15:40:10
分享:

安装环境:Linux    yum安装apache

(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下


版权说明:本站原创文章,由域名查询发表.
本文地址:https://www.hulian.top/help/1055.html
在线咨询
  • 在线时间
  • 8:00-21:00