具有动态 apache vhost 的非通配符证书

2024-05-22

我正在尝试根据用于连接到我的服务器的 url 动态读取 SSL 证书的位置。我尝试了几种不同的方法,但似乎都不起作用。目前我的配置如下所示

UseCanonicalName Off

listen 443

<VirtualHost *:443>
  ServerName example
  ServerAlias *

  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/%0/cert.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/%0/privkey.pem

  VirtualDocumentRoot /var/www/vhosts/%-2/%-3+/public
</VirtualHost>

这里的问题是,当我启动 apache 时,出现错误,提示找不到 ssl 证书的文件位置,该证书声明“/etc/letsencrypt/live/%0/cert.pem”

所以看起来 %0 没有被 url 替换。

编辑:当我手动仅用 url 替换 %0 时,则表示 url 具有有效的 SSL


来自文档 https://httpd.apache.org/docs/current/vhosts/mass.html:

变量 %0 引用请求的服务器名称,如 Host: 标头中所示。

Host 标头是 HTTP 请求的一部分。 HTTP 请求仅在 TLS 握手成功后才可用。这次握手需要证书。因此,%0不能用于指定证书的路径。

我怀疑任何其他变量都可以用于此目的,因为证书是在启动时加载的,因此文件名必须在启动时就可用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有动态 apache vhost 的非通配符证书 的相关文章

随机推荐

  • laravel 模型保存后、保存前等回调

    Laravel 中是否有回调 例如 afterSave beforeSave etc 我进行了搜索 但一无所获 如果没有这样的事情 实施它的最佳方法是什么 Thanks 实现保存前后回调以扩展的最佳方法save 功能 这是一个简单的例子 c
  • 删除对象时指针自动指向空

    假设我有一个对象和其他几个不同类类型的对象中的 10 个指向它的指针 如果对象被删除 这些指针必须设置为空 通常我会将对象的类与具有指向它的指针的类互连 以便它可以通知它们它正在被删除 并且它们可以将它们的指针设置为空 但这也有一个负担 即
  • 使用 Python 3.x 基本获取 URL 的 HTML 正文

    我是Python新手 我对 Python 2 x 中的旧 urllib 和 urllib2 与 Python 3 中的新 urllib 之间的差异有点困惑 除此之外 我不确定数据在发送到 urlopen 之前何时需要编码 我一直在尝试使用
  • python webdriver_manager chrome 自定义配置文件

    如何使 webdriver manager chrome 使用自定义 chrome 用户配置文件 我知道对于 selenium webdriver 我可以这样指定 options Options options add argument f
  • 无法将 CLOB 数据存储到 DB2 中的 CLOB 定义的列中

    我猜这是一个重复的问题 但尚未找到合适的解决方案 基本上 我试图通过以下方式将大一点的 XML 即 32000 个字符 插入到 CLOB 列中 DB2程序 插入失败并出现以下错误 看起来 DB2 正在将输入视为 String 而不是 CLO
  • 理解 Objective-C 中选择器的唯一性

    我无法理解 选择器 的部分功能 如苹果指南中所述 我把我感到困惑的部分加粗了 在 Objective C 中 选择器有两个含义 可以用来参考 当在源代码消息中使用方法时 只需使用方法的名称 到一个物体 不过 它也指的是唯一标识符 编译源代码
  • 以特定顺序运行具有效果的 jQuery 函数

    我在 javascript 函数中有一些 jQuery 可以更改页面上的文本并以特定的时间间隔淡入和淡出 我希望这些函数在每个函数完成其效果后按顺序运行 dialogueExchange1 dialogueExchange2 dialogu
  • 在 unix 中编译 dhrystone 时出错

    我是使用基准测试和 makefile 的新手 我已经从下面的链接下载了 Dhrystone 基准测试 我正在尝试编译它 但我遇到了奇怪的错误 我尝试解决它 但没有成功 有人可以帮助我运行 dhrystone 基准测试吗 以下是我尝试编译的两
  • 如何断点和调试角度模板?

    例如 在 React 中 您可以在视图 模板中放置一个断点并检查发生了什么 编辑 假设我想看看这里发生了什么 h2 hero name uppercase Details h2 div span id span hero id div di
  • 将UIWebView显示的PDF保存到本地

    我有一个UIViewController与UIWebView显示一个 pdf 文件 具体取决于之前单击的行UITableView 现在我想添加一个按钮 供用户在本地保存此 pdf 文件以供离线使用 然后还有第二个UITableView它应该
  • 使 html svg 对象也成为可点击的链接(在 iPhone 上)

    这个问题与使 html svg 对象也成为可点击的链接 https stackoverflow com q 11374059 4825796 但给出的答案似乎不适用于 iPhone ios 9 3 safari 和 chrome 浏览器 我
  • 将日期时间舍入到最后一小时

    我试图寻找这个 但我找不到我想做的事情的好例子 我在 MySQL 数据库中得到了日期时间值 当使用该值时必须向下舍入 例如 所有这些值 2013 04 20 07 14 422013 04 20 07 19 512013 04 20 07
  • 如何使用“子例程引用”作为哈希键

    在 Perl 中 我正在学习如何取消引用 子例程引用 但我似乎无法使用子例程引用作为哈希 键 在下面的示例代码中 我可以创建对子例程 subref 的引用 然后取消引用它以运行子例程 subref 我可以使用引用作为哈希 值 然后轻松取消引
  • 如何同时将透镜(或任何其他光学器件)视为吸气剂和设置剂?

    我正在尝试编写一个通用记录更新程序 它允许人们轻松更新记录中的字段existing记录 字段形状相似incoming记录 这是我到目前为止所拥有的 applyUpdater fields existing incoming let gett
  • 宏观评价[重复]

    这个问题在这里已经有答案了 可能的重复 未定义的行为和序列点 https stackoverflow com questions 4176328 undefined behavior and sequence points 我无法理解以下宏
  • unicode().decode('utf-8', 'ignore') 引发 UnicodeEncodeError

    这是代码 gt gt gt z u u2022 decode utf 8 ignore Traceback most recent call last File
  • Android 布局以 开头 [重复]

    这个问题在这里已经有答案了 我是 Android 应用程序开发的初学者 我的问题很简单 我似乎无法确定布局文件夹中的 xml 文件是否应以以下开头 当我制作一个入门项目时 它不存在 但我也在读一本书 上面说它应该在那里 正确的方法是什么 嗯
  • 加入语音频道(discord.py)

    当我尝试让我的机器人加入我的语音频道时 出现以下错误 await client join voice channel voice channel 产生错误的行 Traceback most recent call last File usr
  • 如何进行有条件的 .htaccess 密码保护

    我正在尝试使用 htaccess 对特定网址进行密码保护 不同的 url 指向相同的文件 但工作方式不同 我现在只需要用密码保护一个网址 我正在尝试使用 setenvif 来执行此操作 但它似乎不起作用 我可能不完全理解 apache se
  • 具有动态 apache vhost 的非通配符证书

    我正在尝试根据用于连接到我的服务器的 url 动态读取 SSL 证书的位置 我尝试了几种不同的方法 但似乎都不起作用 目前我的配置如下所示 UseCanonicalName Off listen 443