让 HAProxy 与 Apache 协同工作

让 HAProxy 与 Apache 协同工作

我拥有一个运行多个网站的 VPS。其中一个网站需要使用 Mavin 来运行 CometD,但其他网站仍需运行 Apache。为此,我使用了 HAProxy。

我将 Apache 及其所有站点移出端口 80,并配置 HAProxy 在该端口上运行。HAProxy 可以很好地将正确的内容路由到 Apache,但 Apache 为我提供了“默认网站页面”,而不是正确的 VirtualHost。我该如何修复此问题?

以下是我的 Apache 配置的一些内容:

<VirtualHost 64.64.0.102:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /homeexample/public_html/hg
ServerAdmin [email protected]
<IfModule mod_userdir.c>
    Userdir disabled
    Userdir enabled isbwmp
</IfModule>
<IfModule mod_suphp.c>
    suPHP_UserGroup isbwmp isbwmp
</IfModule>
<IfModule !mod_disable_suexec.c>
    SuexecUserGroup isbwmp isbwmp
</IfModule>
CustomLog /usr/local/apache/domlogs/example.com-bytes_log "%{%s}t %I .\n%{%s}t %O ."
CustomLog /usr/local/apache/domlogs/example.com combined
ScriptAlias /cgi-bin/ /home/isbwmp/public_html/cgi-bin/

以下是我的 HAProxy 配置的一部分:(复制的,我真的不明白)

frontend http_proxy #arbitrary name for the frontend
    bind *:80 #all interfaces at port 80
    mode http
    option forwardfor
    option http-server-close
    option http-pretend-keepalive
    default_backend twisted #by default forward the requests to apache

    acl req_cometd_path path_beg /comet/
    use_backend cometd if req_cometd_path

    acl req_cometd_host hdr_dom(host) -i comet.ishouldbewritingmypaper.com
    use_backend cometd if req_cometd_host

答案1

已修复:我只需要将虚拟主机从我的 IP 更改为 127.0.0.1。

相关内容