【问题标题】:Reverse-proxy apache反向代理 apache
【发布时间】:2018-01-25 10:06:46
【问题描述】:

我有一个 apache(端口 80)和一个在端口 8000(openslides)上运行的额外网络服务器。如果我使用 foobar.com:8000 它可以工作。但它不是用户优化的,而且在一些酒店有该死的防火墙.. 我想要从 foobar.com 重定向到 foobar.com:8000。 我的配置是:

<VirtualHost *:80>
ServerAdmin ...@..
ServerName foobar.com
ServerAlias www.foobar.com
ErrorLog /var/log/apache2/openslides.log
CustomLog /var/log/apache2/openslides-access.log combined
<Location foobar.com>
      ProxyPass  http://foobar.com:8000
      ProxyPassReverse http://foobar.com:8000
</Location>
</VirtualHost>

foobar.com:8000 运行,但对于 foobar.com,我得到一个空站点。有人看到配置中的错误吗?

谢谢!

本乡

【问题讨论】:

  • 错误日志中有任何消息吗? - 如果没有,请尝试LogLevel debug。 Apache 会告诉你出了什么问题。
  • 是否有额外的网络服务器与 apache 在同一主机上运行?
  • 您根本不需要位置标签。然后对于代理错误,将您的日志级别设置为调试并检查错误日志。如果您在运行 Apache 的系统上尝试 telnet foobar.com 8000,它会连接吗?
  • 是的,额外的网络服务器也在运行,这是必要的。但是我为这种情况/重定向使用了自己的域。所以 apache 监听 80 端口,反向代理应该将 foobar.com 重定向到 8000 端口;但 anothersite.com 到端口 80/apache。我使用 LogLevel 调试重新启动 apache2,但结果适中... [Fri Jan 26 10:27:20.586237 2018] [proxy:debug] [pid 17439] proxy_util.c(1864): AH00931: initialized single connection worker in child 17439对于(foobar.com)
  • 我尝试在没有位置标签的情况下使用它。 apache configtest 失败:AH00526:/etc/apache2/sites-enabled/foobar.conf 第 9 行的语法错误:ProxyPass|ProxyPassMatch 需要路径时未在位置操作“configtest”中定义。 telnet foobar.com 8000 成功。它可以连接。

标签: apache proxy reverse


【解决方案1】:

你弄错了Location 标签。您需要在其中放置一条路径:

<Location />
      ProxyPass  http://foobar.com:8000
      ProxyPassReverse http://foobar.com:8000
</Location>

有关Location 标签的更多信息,请参阅:https://httpd.apache.org/docs/2.4/mod/core.html#location

【讨论】:

  • 非常感谢,但这无济于事。结果是一样的。我已经阅读了 apache-doc 但我看不到我的错..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
  • 1970-01-01
  • 2015-04-26
  • 2014-03-17
  • 2012-12-07
相关资源
最近更新 更多