虚拟主机 - *.80 重定向有效,为啥 *.443 无效?

Posted

技术标签:

【中文标题】虚拟主机 - *.80 重定向有效,为啥 *.443 无效?【英文标题】:Vhosts - *.80 redirect works, why doesn't *.443?虚拟主机 - *.80 重定向有效,为什么 *.443 无效? 【发布时间】:2017-07-13 23:15:11 【问题描述】:

我已经设置了一个重定向来捕获所有 http:(端口 80)流量。这是为了解决安全问题(即不允许任何人直接访问服务器)。

<VirtualHost *:80>
    DocumentRoot "/var/www/html/redirect"
</VirtualHost>

这是 vhosts 文件中的第一个条目,并且工作正常。但是,我还想将其用于所有重定向所有 https:流量(端口 443),使用以下内容(直接放在 vhost 文件中的第一个条目之后...

<VirtualHost *:443>
    DocumentRoot "/var/www/html/redirect"
</VirtualHost>

但是,这样做会使我们所有的网站崩溃....

我已经运行了一个 httpd -S 并且它没有返回任何错误。

关于如何设置 https 重定向的任何建议?

【问题讨论】:

你的服务器监听端口是 443 吗? 1.我不知道为什么指定这样的DocumentRoot 应该“重定向”任何访问或其他一些东西......和 ​​2. 你当然可以让你的 http 服务器在端口 443 上监听,但是你没有为证书处理指定任何配置这是通常在端口 443 上使用的 https 协议所必需的...这 mighty 只是您发布的一个大大减少的配置,但我们不知道这一点。但最重要的是:3. 你的 http 服务器错误日志文件在你重启时会显示什么? 这就是确切的配置,尽管在这 2 之后还有许多其他条目。我不想现在修补和检查错误日志,因为任何错误都会导致实时站点崩溃 【参考方案1】:

根据这个answer,你需要为:443虚拟主机指定SSL

<VirtualHost *:443>
    SSLEngine On
    DocumentRoot "/var/www/html/redirect"
</VirtualHost>

如果您的服务器正在侦听 443,还请查看您的站点配置。在访问页面时在运行时检查您的错误日志。

【讨论】:

请注意,var/www/html/redirect 只是一个没有与之关联的特定 SSL 的文件夹。就像我说的,它适用于 *:80。 如果您不使用 SSL 浏览,它会在没有 SSLEngine On 的情况下工作,我会说 OP 正在尝试使用 SSL 达到 443 并且 Apache 出于某种原因而出现故障。还要确保你在某处设置了Listen 443 你能举个例子吗?

以上是关于虚拟主机 - *.80 重定向有效,为啥 *.443 无效?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 Apache 中设置虚拟主机后,http://localhost 会重定向到我的默认虚拟主机?

为啥 AWS Route 53 主机重定向到 Elastic Beanstalk 服务器?

为啥我的页面在我的 wordpress 博客中重定向到本地主机?

Windows 7 - XAMPP:虚拟主机不断重定向

没有 www 的虚拟主机 2 重定向到虚拟主机 1

虚拟主机将我重定向到 Xampp 仪表板