• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 兼容性

    本页涵盖了mod_ssl与其他SSL解决方案之间的向后兼容性。mod_ssl并非Apache的唯一SSL解决方案;还有(或曾经提供)另外四个产品:Ben Laurie的免费可用的Apache-SSL(最初是mod_ssl的来源,始于1998年),Red Hat的商业安全Web服务器(基于mod_ssl),Covalent的商业Raven SSL模块(也基于mod_ssl),最后是C2Net(现在是Red Hat)的商业产品Stronghold(基于一个不同的演进分支,从Stronghold 2.x开始命名为Sioux,并从Stronghold 3.x开始基于mod_ssl)。

    mod_ssl主要提供所有其他解决方案功能的超集,因此很容易从较旧的模块之一迁移到mod_ssl。较早的SSL解决方案使用的配置指令和环境变量名称与mod_ssl中使用的指令不同。此处包含映射表,以提供mod_ssl使用的等效表。

    配置指令

    表1给出了Apache-SSL 1.x和mod_ssl 2.0.x使用的配置指令之间的映射。由于这些接口中的特殊功能(mod_ssl不提供),因此Sioux 1.x和Stronghold 2.x的映射仅是部分的。

    表1:配置指令映射

    Old Directivemod_ssl DirectiveComment
    Apache-SSL 1.x & mod_ssl 2.0.x compatibility:
    SSLEnableSSLEngine oncompactified
    SSLDisableSSLEngine offcompactified
    SSLLogFilefileUse per-module LogLevel setting instead.
    SSLRequiredCiphersspecSSLCipherSuitespecrenamed
    SSLRequireCipherc1...SSLRequire %{SSL_CIPHER}in{"c1",...}generalized
    SSLBanCipherc1...SSLRequire not(%{SSL_CIPHER}in{"c1",...})generalized
    SSLFakeBasicAuthSSLOptions +FakeBasicAuthmerged
    SSLCacheServerPathdir-functionality removed
    SSLCacheServerPortinteger-functionality removed
    Apache-SSL 1.x compatibility:
    SSLExportClientCertificatesSSLOptions +ExportCertDatamerged
    SSLCacheServerRunDirdir-functionality not supported
    Sioux 1.x compatibility:
    SSL_CertFilefileSSLCertificateFilefilerenamed
    SSL_KeyFilefileSSLCertificateKeyFilefilerenamed
    SSL_CipherSuiteargSSLCipherSuiteargrenamed
    SSL_X509VerifyDirargSSLCACertificatePathargrenamed
    SSL_Logfile-Use per-module LogLevel setting instead.
    SSL_ConnectflagSSLEngineflagrenamed
    SSL_ClientAuthargSSLVerifyClientargrenamed
    SSL_X509VerifyDepthargSSLVerifyDepthargrenamed
    SSL_FetchKeyPhraseFromarg-not directly mappable; use SSLPassPhraseDialog
    SSL_SessionDirdir-not directly mappable; use SSLSessionCache
    SSL_Requireexpr-not directly mappable; use SSLRequire
    SSL_CertFileTypearg-functionality not supported
    SSL_KeyFileTypearg-functionality not supported
    SSL_X509VerifyPolicyarg-functionality not supported
    SSL_LogX509Attributesarg-functionality not supported
    Stronghold 2.x compatibility:
    StrongholdAcceleratorengineSSLCryptoDeviceenginerenamed
    StrongholdKeydir-functionality not needed
    StrongholdLicenseFiledir-functionality not needed
    SSLFlagflagSSLEngineflagrenamed
    SSLSessionLockFilefileSSLMutexfilerenamed
    SSLCipherListspecSSLCipherSuitespecrenamed
    RequireSSLSSLRequireSSLrenamed
    SSLErrorFilefile-functionality not supported
    SSLRootdir-functionality not supported
    SSL_CertificateLogDirdir-functionality not supported
    AuthCertDirdir-functionality not supported
    SSL_Groupname-functionality not supported
    SSLProxyMachineCertPathdirSSLProxyMachineCertificatePathdirrenamed
    SSLProxyMachineCertFilefileSSLProxyMachineCertificateFilefilerenamed
    SSLProxyCipherListspecSSLProxyCipherSpecspecrenamed

    环境变量

    表2中给出了较旧的SSL解决方案使用的环境变量名称与mod_ssl使用的名称之间的映射。

    表2:环境变量推导

    旧变量mod_ssl变量评论
    SSL_PROTOCOL_VERSIONSSL_PROTOCOL重命名
    SSLEAY_VERSIONSSL_VERSION_LIBRARY重命名
    HTTPS_SECRETKEYSIZESSL_CIPHER_USEKEYSIZE重命名
    HTTPS_KEYSIZESSL_CIPHER_ALGKEYSIZE重命名
    HTTPS_CIPHERSSL_CIPHER重命名
    HTTPS_EXPORTSSL_CIPHER_EXPORT重命名
    SSL_SERVER_KEY_SIZESSL_CIPHER_ALGKEYSIZE重命名
    SSL_SERVER_CERTIFICATESSL_SERVER_CERT重命名
    SSL_SERVER_CERT_STARTSSL_SERVER_V_START重命名
    SSL_SERVER_CERT_ENDSSL_SERVER_V_END重命名
    SSL_SERVER_CERT_SERIALSSL_SERVER_M_SERIAL重命名
    SSL_SERVER_SIGNATURE_ALGORITHMSSL_SERVER_A_SIG重命名
    SSL_SERVER_DNSSL_SERVER_S_DN重命名
    SSL_SERVER_CNSSL_SERVER_S_DN_CN重命名
    SSL_SERVER_EMAILSSL_SERVER_S_DN_Email重命名
    SSL_SERVER_OSSL_SERVER_S_DN_O重命名
    SSL_SERVER_OUSSL_SERVER_S_DN_OU重命名
    SSL_SERVER_CSSL_SERVER_S_DN_C重命名
    SSL_SERVER_SPSSL_SERVER_S_DN_SP重命名
    SSL_SERVER_LSSL_SERVER_S_DN_L重命名
    SSL_SERVER_IDNSSL_SERVER_I_DN重命名
    SSL_SERVER_ICNSSL_SERVER_I_DN_CN重命名
    SSL_SERVER_IEMAILSSL_SERVER_I_DN_Email重命名
    SSL_SERVER_IOSSL_SERVER_I_DN_O重命名
    SSL_SERVER_IOUSSL_SERVER_I_DN_OU重命名
    SSL_SERVER_ICSSL_SERVER_I_DN_C重命名
    SSL_SERVER_ISPSSL_SERVER_I_DN_SP重命名
    SSL_SERVER_ILSSL_SERVER_I_DN_L重命名
    SSL_CLIENT_CERTIFICATESSL_CLIENT_CERT重命名
    SSL_CLIENT_CERT_STARTSSL_CLIENT_V_START重命名
    SSL_CLIENT_CERT_ENDSSL_CLIENT_V_END重命名
    SSL_CLIENT_CERT_SERIALSSL_CLIENT_M_SERIAL重命名
    SSL_CLIENT_SIGNATURE_ALGORITHMSSL_CLIENT_A_SIG重命名
    SSL_CLIENT_DNSSL_CLIENT_S_DN重命名
    SSL_CLIENT_CNSSL_CLIENT_S_DN_CN重命名
    SSL_CLIENT_EMAILSSL_CLIENT_S_DN_Email重命名
    SSL_CLIENT_OSSL_CLIENT_S_DN_O重命名
    SSL_CLIENT_OUSSL_CLIENT_S_DN_OU重命名
    SSL_CLIENT_CSSL_CLIENT_S_DN_C重命名
    SSL_CLIENT_SPSSL_CLIENT_S_DN_SP重命名
    SSL_CLIENT_LSSL_CLIENT_S_DN_L重命名
    SSL_CLIENT_IDNSSL_CLIENT_I_DN重命名
    SSL_CLIENT_ICNSSL_CLIENT_I_DN_CN重命名
    SSL_CLIENT_IEMAILSSL_CLIENT_I_DN_Email重命名
    SSL_CLIENT_IOSSL_CLIENT_I_DN_O重命名
    SSL_CLIENT_IOUSSL_CLIENT_I_DN_OU重命名
    SSL_CLIENT_ICSSL_CLIENT_I_DN_C重命名
    SSL_CLIENT_ISPSSL_CLIENT_I_DN_SP重命名
    SSL_CLIENT_ILSSL_CLIENT_I_DN_L重命名
    SSL_EXPORTSSL_CIPHER_EXPORT重命名
    SSL_KEYSIZESSL_CIPHER_ALGKEYSIZE重命名
    SSL_SECKEYSIZESSL_CIPHER_USEKEYSIZE重命名
    SSL_SSLEAY_VERSIONSSL_VERSION_LIBRARY重命名
    SSL_STRONG_CRYPTO-mod_ssl不支持
    SSL_SERVER_KEY_EXP-mod_ssl不支持
    SSL_SERVER_KEY_ALGORITHM-mod_ssl不支持
    SSL_SERVER_KEY_SIZE-mod_ssl不支持
    SSL_SERVER_SESSIONDIR-mod_ssl不支持
    SSL_SERVER_CERTIFICATELOGDIR-mod_ssl不支持
    SSL_SERVER_CERTFILE-mod_ssl不支持
    SSL_SERVER_KEYFILE-mod_ssl不支持
    SSL_SERVER_KEYFILETYPE-mod_ssl不支持
    SSL_CLIENT_KEY_EXP-mod_ssl不支持
    SSL_CLIENT_KEY_ALGORITHM-mod_ssl不支持
    SSL_CLIENT_KEY_SIZE-mod_ssl不支持

    自定义日志功能

    启用mod_ssl时,自定义日志格式的附加功能存在mod_log_config于参考章节中。旁边的``%{VARNAME}x“”延伸格式,可用于扩大由任何模块提供的任何变量函数,附加的加密``%{}c“”加密格式函数存在为了向后兼容。表3中列出了当前实现的函数调用。

    表3:自定义日志密码功能

    函数调用描述
    %...{version}cSSL协议版本
    %...{cipher}cSSL密码
    %...{subjectdn}c客户证书主题专有名称
    %...{issuerdn}c客户证书颁发者的专有名称
    %...{errcode}c证书验证错误(数字)
    %...{errstr}c证书验证错误(字符串)