Apache 反向代理有时会接管所有请求

Apache 反向代理有时会接管所有请求

我正在使用 apache 作为反向代理,向在内部端口上运行的 Web 服务器发送一些请求,以允许通过我的常规虚拟主机进行访问。这是在 vagrant 中运行的 ubuntu 15 上。

这是我的虚拟主机配置:

<VirtualHost *:80>
  DocumentRoot /vagrant/htdocs
  ServerName test.vm

  # proxy pass mailcatcher to internal webserver
  <Location /mailcatcher>
    ProxyPass http://localhost:1080
    ProxyPassReverse http://localhost:1080
  </Location>
  <Location /assets>
    ProxyPass http://localhost:1080/assets
  </Location>
  <Location /messages>
    ProxyPass ws://localhost:1080/messages
    ProxyPassReverse http://localhost:1080
  </Location> 

  <Directory />
    Require all granted
  </Directory>

  <Directory /vagrant/htdocs>
    AllowOverride all
  </Directory>
</VirtualHost>

一段时间内,这种方法很有效。然而,过了一段时间,突然全部对此虚拟主机的请求被代理到内部网络服务器。因此,如果我http://test.vm/cron/mails.php首先调用,它将mails.php按预期运行。然而,在一段随机的时间或事件之后,上述 URL 突然开始提供来自邮件捕手

您要查找的消息不存在,或者不包含此类型的内容

当您请求不再存在的消息时,会出现这个 Mailcatcher 错误。

这项服务 Mailcatcher 随我的 VM 一起启动并始终运行。奇怪的是,当我在 VM 上执行其他操作时(它上面正在运行一个 Web 应用程序),我没有遇到此问题。只有当我主动调试邮件并使用 Mailcatcher gui 时,我才会突然遇到此问题。

等待一段时间或重新启动 apache 可以“解决”此问题,直到下次弹出。有人能帮我解决这个问题吗?我的代理设置错了吗?

谢谢。

相关内容