Apache重定向&;HTTPS

Apache重定向&;HTTPS,apache,ssl,redirect,virtualhost,Apache,Ssl,Redirect,Virtualhost,我想我试图同时做三件事,但我正在努力: 直接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

我想我试图同时做三件事,但我正在努力:

  • 直接
    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>
我得到以下信息:

The certificate is only valid for www.example.com.au
现在我认为重定向应该告诉浏览器它真的要
https://www.example.com.au
,但:

  • 地址栏保持不变
  • 证书无效,可能是因为地址栏保持不变
问题是:如何配置虚拟主机以使用一个证书将这些变体重定向到SSL?


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

发出警告的原因是:您的浏览器在尝试访问时,无法相信
301重定向
响应确实来自
example.com.au
,因为证书中没有此类主机名


由于您已经在使用Let's encrypt certs,您只需将您的
:443
虚拟主机拆分为4个独立的虚拟主机,每个虚拟主机都有自己的证书,然后将其中3个配置为重定向到(或者,如果可能,获取将匹配所有所需主机名的证书)。

发出警告的原因是:您的浏览器,尝试访问时,不能相信
301重定向
响应确实来自
example.com.au
,因为证书中没有这样的主机名


由于您已经在使用Let's encrypt certs,您只需将您的
:443
虚拟主机拆分为4个独立的vHost,每个vHost都有自己的证书,然后将其中3个配置为重定向到(或者,如果可能,获取与所有需要的主机名匹配的证书).

你在哪里/什么时候看到这个错误?@DusanBajic我已经修改了这个问题。我忘了提到,当我试图在没有
www
的情况下打开网站时,我收到了消息。据我所知,您需要所有域名@DusanBajic的证书,这适用于
.htaccess
。你是说这同样适用于
配置吗?是的。但由于您已经在使用Let's encrypt certs,您只需将
:443
虚拟主机拆分为4个独立的vHost,每个vHost都有自己的证书,然后配置其中3个并重定向到
https://www.example.com.au/
你在哪里/什么时候看到这个错误?@DusanBajic我已经修改了这个问题。我忘了提到,当我试图在没有
www
的情况下打开网站时,我收到了消息。据我所知,您需要所有域名@DusanBajic的证书,这适用于
.htaccess
。你是说这同样适用于
配置吗?是的。但由于您已经在使用Let's encrypt certs,您只需将
:443
虚拟主机拆分为4个独立的vHost,每个vHost都有自己的证书,然后配置其中3个并重定向到
https://www.example.com.au/
The certificate is only valid for www.example.com.au