首页 > 解决方案 > 阿帕奇:www.fakedomain.com 不是 https://fakedomain.com

问题描述

我有 apache 服务器服务fakedomain.com于以下 vhost conf。

<VirtualHost *:80>
    DocumentRoot /var/www/master/public_html
    ServerName www.fakedomain.com
    ServerAlias fakedomain.com
    ServerPath /var/www/master/public_html
    CustomLog /var/log/apache2/fakedomain/master-access.log combined
    ErrorLog /var/log/apache2/fakedomain/master-error.log
    #LogLevel debug

      <Directory /var/www/master/public_html>
            Options -Indexes +FollowSymLinks
            Order Allow,Deny
            Allow from All
      </Directory>
    RewriteEngine On
    RewriteRule ^(/www/.*) /www/fakedomain.com$1
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{HTTP:X-Forwarded-Proto} =http
    RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
    RewriteCond %{HTTP_ACCEPT} image/webp
    RewriteCond %{REQUEST_URI}  (?i)(.*)(\.jpe?g|\.png)$
    RewriteCond %{DOCUMENT_ROOT}%1.webp -f
    RewriteRule (?i)(.*)(\.jpe?g|\.png)$ %1\.webp [L,T=image/webp,R]
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot /var/www/master/public_html
    ServerName www.fakedomain.com
    ServerAlias fakedomain.com
    ServerPath /var/www/master/public_html
    CustomLog /var/log/apache2/fakedomain/master-access.log combined
    ErrorLog /var/log/apache2/fakedomain/master-error.log

    <Directory /var/www/master/public_html>
        Options -Indexes +FollowSymLinks
            Order Allow,Deny
            Allow from All
    </Directory>

    RewriteEngine On
    RewriteRule ^(/www/.*) /www/fakedomain.com$1
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{HTTP_ACCEPT} image/webp
    RewriteCond %{REQUEST_URI}  (?i)(.*)(\.jpe?g|\.png)$
    RewriteCond %{DOCUMENT_ROOT}%1.webp -f
    RewriteRule (?i)(.*)(\.jpe?g|\.png)$ %1\.webp [L,T=image/webp,R]
    SSLEngine On
    ServerSignature On
    SSLCertificateFile /etc/ssl/certs/star_fakedomain_com_05_2020.crt
    SSLCertificateKeyFile /etc/ssl/private/star_fakedomain_com.key
    SSLCertificateChainFIle /etc/ssl/certs/DigiCertCA.crt
</VirtualHost>

我可以访问www.fakedomain.com但不能访问https://fakedomain.comhttp://fakedomain.com出错ERR_CONNECTION_TIMED_OUT

这个 apache 在 ec2 上运行,在经典 ELB 之后。www.fakedomain.com&fakedomain.com是 DYN dns 中的一条记录。

我有www.fakedomain.com&的 DNS 记录fakedomain.com。也尝试交换ServerName& ServerAlias,但没有运气。有人指出这里有什么问题吗?

标签: apachedns

解决方案


“对不起,我不能发表评论,我没有足够的声誉”

我已经在我的环境中测试了你的配置,它对我有用,我可以使用 www 访问,也可以不使用它。

你能试试 nslookup www.fakedomain.com
和 nsllookup fakedomain.com

这可能是一个 dns 传播问题,或者您的 dns 缓存陈旧且 ttl 高,或者您为 fakedomain.com 输入了错误的 ip


推荐阅读