1. 检查是否安装 OpenSSL
1.1 查看是否安装
openssl version
1.2 编译安装:
https://www.cnblogs.com/rxbook/p/9367725.html
1.3 yum 安装
yum install openssl yum install openssl-devel
1.4 在线升级
yum -y update openssl
2. 配置证书上传目录
在 Apache 安装目录中新建 cert 目录, 并将下载的 Apache 证书, 证书链文件和秘钥文件拷贝到 cert 目录中. 如果需要安装多个证书, 需在 Apache 的 cert 目录中新建对应数量的 cert 目录, 用于存放不同的证书 (每个域名证书对应一个文件夹存放)
如果申请证书时选择了手动创建 CSR 文件, 请将手动生成创建的秘钥文件拷贝到 cert 目录中并命名为 domain name.key.
3. 修改 httpd.conf 配置文件
3.1httpd.conf 配置参数 mod_ssl.so
#LoadModule ssl_module modules/mod_ssl.so
删除行首的配置语句注释符号 "#" 加载 mod_ssl.so 模块启用 SSL 服务, Apache 默认是不启用该模块的. 如果找不到该配置, 请重新编译 mod_ssl 模块.
3.2 引入 httpd-ssl.conf
#Include conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号 "#".
4. 修改 httpd-ssl.conf 配置文件
4.1 打开 httpd-ssl.conf 文件 注释掉默认示例参数
4.2 具体配置参数
- <VirtualHost *:443>
- ServerName www.xx.com.
- DocumentRoot /data/www/xxx/public
- SSLEngine on
- SSLProtocol all -SSLv2 -SSLv3
- SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
- SSLHonorCipherOrder on
- SSLCertificateFile cert/domain name1_public.crt
- SSLCertificateKeyFile cert/domain name1.key
- SSLCertificateChainFile cert/domain name1_chain.crt
- </VirtualHost>
4.3 根据情况可设置多个, 保存 httpd-ssl.conf 文件并退出.
5. 配置 httpd-vhosts.conf 中站点
80 与 443 端口同时存在
- <VirtualHost *:443>
- ServerAdmin [email protected]-host2.example.com
- DocumentRoot "/home/www/demo/public/"
- ServerName m.ygang.vip
- ServerAlias localhost
- SSLEngine on
- SSLCertificateFile "/usr/local/apache/cert/3087344_m.ygang.vip_public.crt"
- SSLCertificateKeyFile "/usr/local/apache/cert/3087344_m.ygang.vip.key"
- SSLCertificateChainFile "/usr/local/apache/cert/3087344_m.ygang.vip_chain.crt"
- ErrorLog "/usr/local/apache/logs/error_log"
- CustomLog "/usr/local/apache/logs/access_log" common
- </VirtualHost>
6. 设置 Apache http 自动跳转 https
在 httpd-vhosts.conf 文件中的 < VirtualHost *:80> </VirtualHost > 中间, 添加以下重定向代码.
- RewriteEngine on
- RewriteCond %{
- HTTPS
- } !=on
- RewriteRule ^(.*) https://%{
- SERVER_NAME
- }$1 [L,R]
7. Nginx 配置 ssl 证书
- server {
- listen 443;
- server_name localhost; # localhost 修改为您证书绑定的域名.
- ssl on; #设置为 on 启用 SSL 功能.
- root HTML;
- index index.HTML index.htm;
- ssl_certificate cert/domain name.pem; #将 domain name.pem 替换成您证书的文件名.
- ssl_certificate_key cert/domain name.key; #将 domain name.key 替换成您证书的密钥文件名.
- ssl_session_timeout 5m;
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件.
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置.
- ssl_prefer_server_ciphers on;
- location / {
- root HTML; #站点目录.
- index index.HTML index.htm;
- }
- }
设置 HTTP 请求自动跳转 HTTPS 在 80 端口站点添加
- server {
- listen 80;
- server_name localhost;
- rewrite ^(.*)$ https://$host$1 permanent;
- location / {
- index index.HTML index.htm;
- }
- }
来源: http://www.bubuko.com/infodetail-3359157.html