1.mod_ssl配置
1.1.基本配置示例
最少配置
LoadModule ssl_module modules/mod_ssl.so Listen 443 <VirtualHost *:443> ServerName www.example.com SSLEngine on SSLCertificateFile /path/to/www.example.com.cert SSLCertificateKeyFile /path/to/www.example.com.key </VirtualHost>
SSLEngine指令:
语法:SSLEngine on|off|optional
默认:off
ssl/tls加密开关
SSLCertificateFile指令:
X.509证书文件
SSLCertificateKeyFile指令:
密钥文件
1.2.客户端强制使用证书
# 强制使用证书验证 SSLVerifyClient require SSLVerifyDepth 1 SSLCACertificateFile conf/ssl.crt/ca.crt # 强制验证某个URL SSLVerifyClient none SSLCACertificateFile conf/ssl.crt/ca.crt <Location /secure/area> SSLVerifyClient require SSLVerifyDepth 1 </Location>
SSLVerifyClient指令
客户端验证类型
语法:SSLverifyClient none|optional|require|optional_no_ca
注解:根本不需要客户端证书/客户端可能会提供有效证书/客户端必须提交有效证书/客户端提供证书
SSLVerifyDepth指令
客户端证书验证的最大深度
默认:1
SSLCACertificateFile指令
指定客户端证书
2.SSL/TLS加密
理解SSL需要了解加密算法、消息摘要算法、数字签名。
3.SSL/TLS兼容问题