gpt4 book ai didi

Apache 重定向和 HTTPS

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:44 26 4
gpt4 key购买 nike

我想我正在尝试同时做三件事,但我正在尝试:

  • example.com 指向 example.com.au
  • example.com.au 指向 www.example.com.au
  • 将 HTTP 定向到 HTTP

也就是说,四个变体都指向 HTTPS 版本。

以下是配置文件中的部分:

<VirtualHost *:80>
ServerName example.com.au
ServerAlias www.example.com.au example.com www.example.com
ServerAdmin …
Redirect permanent / https://www.example.com.au/
</VirtualHost>

<VirtualHost *:443>
ServerName www.example.com.au:443
ServerAlias example.com.au www.example.com example.com
ServerAdmin …
VirtualDocumentRoot /whatever/example.com/www
CustomLog logs/example.log combined env=!dontlog

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.example.com.au/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com.au/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.example.com.au/chain.pem
</VirtualHost>

问题是虽然重定向似乎有效,但证书似乎并不适用。当我尝试在浏览器中打开以下内容时(没有 www):

https://example.com.au/

我收到以下消息:

The certificate is only valid for www.example.com.au

现在我认为重定向应该告诉浏览器它真的要去 https://www.example.com.au,但是:

  • 地址栏保持不变
  • 证书无效,可能是因为地址栏保持不变

问题是:如何配置虚拟主机以使用同一个证书将这些变体重定向到 SSL?

我的 DNS 服务器设置正确(所有名称解析正确)并且 LetsEncrypt 正确且最新。只有域已更改以保护无辜者。

最佳答案

警告的原因是:您的浏览器在尝试访问 https://example.com.au/ 时,无法相信 301 Redirect 响应确实来自 example.com.au,因为证书中没有这样的主机名。

由于您已经在使用 Let's encrypt certs,您只需将 :443 VirtualHost 拆分为 4 个独立的 vhost,每个都有自己的证书,然后配置其中 3 个并重定向到 https://www.example.com.au/ (或者,如果可能,获得一个匹配所有需要的主机名的证书)。

关于Apache 重定向和 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43717875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com