Apache HTTP Server/mod_gnutls

出自 ArchWiki

出自 mod_gnutls wiki

mod_gnutls 是 ​Apache httpd 的扩展,使用 ​GnuTLS 库来提供 HTTPS。
它在目的上类似于 ​mod_ssl,但它支持 mod_ssl 不支持的一些特性和协议,并且它不使用 ​OpenSSL。

安装

安装 mod_gnutlsAUR,可在 Arch 用户仓库 中获取。

配置 Apache

将以下行添加到 /etc/httpd/conf/httpd.conf

LoadModule gnutls_module modules/mod_gnutls.so
Include conf/extra/httpd-gnutls.conf

确保在 /etc/httpd/conf/httpd.conf 中注释掉以下行

Include conf/extra/httpd-ssl.conf

确保没有 vhost 定义包含 mod_ssl。

创建文件 /etc/httpd/conf/extra/httpd-gnutls.conf,内容如下

/etc/httpd/conf/extra/httpd-gnutls.conf
Listen 443

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl

GnuTLSCache dbm "/var/run/httpd/gnutls_scache"
GnuTLSCacheTimeout 600

<VirtualHost _default_:443>

DocumentRoot "/srv/http"
ServerName www.example.org
ServerAdmin youremail@example.org
ErrorLog "/var/log/httpd/error_log"
TransferLog "/var/log/httpd/access_log"

GnuTLSEnable on
GnuTLSPriorities NORMAL

GNUTLSExportCertificates on

GnuTLSCertificateFile /path/to/certificate/domain.tld.crt
GnuTLSKeyFile /path/to/certificate/domain.tld.key

</VirtualHost>

重启 httpd.service

检查 Apache 是否正确加载并在端口 443 上响应。

关于配置指令的更多文档,请访问 outoforder.cc mod_gnutls 文档页面。

测试

您可以通过 SSL Labs 分析工具 测试或验证您的 https 配置。