apache服务器添加https(针对ios10 https)

96
踏云小子
2017.02.10 16:42* 字数 212

注册https证书

国外的比较贵,没钱啊,所以在淘宝买了个,经供参考,如有雷同,纯属扯淡

centos配置

解压证书包应包含三个文件:

yourdomain.com.crt     (服务器证书)
yourdomain.com.key   (私钥文件)如果为空请将生成CSR时保存的私钥内容粘贴在文件中
yourdomain.com.ca-bundle  (根证书链)

1.检测是否安装mod_ssl.so
下面介绍如何安装Apache. 首要条件就是 apache 已经安装了 mod_ssl.so 模块 。

检测方法使用以下命令:

httpd -M | grep mod_ssl

如果有显示 mod_ssl.so 表示已经安装了apache模块。

CentOS/Redhat安装mod_ssl.so

yum install mod_ssl

2.修改conf文件

Listen 443  (如果配置已经存在就不要加)
LoadModule ssl_module modules/mod_ssl.so (如果配置已经存在就不要加)
NameVirtualHost *:443 (非必须,配置多个SSL站点会需要)
<VirtualHost *:443>
ServerName www.getssl.cn
ServerAlias getssl.cn
DocumentRoot /var/www/html
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/ssl/yourdomain.com.crt 
SSLCertificateKeyFile /etc/ssl/yourdomain.com.key 
SSLCertificateChainFile /etc/ssl/yourdomain.com.ca-bundle
</VirtualHost>

常见问题

  • 重启服务器出现如下问题
Paste_Image.png
[warn] module ssl_module is already loaded, skipping
Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down

出现这个说明 ssl module被多处使用,故用如下命令检查:

grep ssl_module -rI /etc/httpd/*

出现


所以有两种方法:

  1. httpd.conf中去掉LoadModule ssl_module modules/mod_ssl.so、去掉Listen 443
  2. 直接删除/etc/httpd/conf.d/ssl.conf,推荐直接删除ssl.conf
日记本
Web note ad 1