【问题标题】: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 之后还有许多其他条目。我不想现在修补和检查错误日志,因为任何错误都会导致实时站点崩溃

标签: linux vhosts


【解决方案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
  • 你能举个例子吗?
猜你喜欢
  • 2017-07-02
  • 2016-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 2012-08-18
  • 2019-04-16
相关资源
最近更新 更多