[ClusterLabs] The proxy server received an invalid response from an upstream server.
Ken Gaillot
kgaillot at redhat.com
Tue Mar 16 10:18:59 EDT 2021
On Tue, 2021-03-16 at 09:42 +0000, Jason Long wrote:
> Hello,
> I want to launch a Clustering for my Apache Web Server. I have three
> servers:
>
> 1- Main server that acts as a Reverse Proxy
> 2- The secondary server that when my main server stopped, work as a
> Reverse Proxy
> 3- Apache Web Server
>
> The client ---> Reverse Proxy Server ---> Apache Web Server
>
> The IP addresses are:
> Main Server (node1) : 192.168.1.3
> Secondary Server (node2) : 192.168.1.10
> Apache Web Server (node3) : 192.168.1.4
>
> On the main and secondary servers, I installed and configured Apache
> as a Reverse Proxy Server. I created a Virtual Host and my Reverse
> Configuration is:
>
> <VirtualHost *:80>
> ProxyPreserveHost On
> ProxyPass / http://192.168.1.4/
> ProxyPassReverse / http://192.168.1.4/
> </VirtualHost>
>
> As you see, it forward all requests to the Apache Web Server.
>
> I installed and configured Corosync and Pacemaker as below:
>
> On the main and secondary servers, I opened "/etc/hosts" files and
> added my servers IP addresses and host names:
>
> 192.168.1.3 node1
> 192.168.1.10 node2
>
> Then installed Pacemaker, Corosync, and Pcs packages on both servers
> and started its service:
>
> $ sudo yum install corosync pacemaker pcs
> $ sudo systemctl enable pcsd
> $ sudo systemctl start pcsd
> $ sudo systemctl status pcsd
>
> Then Configured the firewall on both servers as below:
>
> $ sudo firewall-cmd --permanent --add-service=http
> $ sudo firewall-cmd --permanent --add-service=high-
> availability
> $ sudo firewall-cmd --reload
>
> After it, on both servers, I created a password for the "hacluster"
> user, then on the main server:
>
> $ sudo pcs host auth node1 node2 -u hacluster -p password
> node1: Authorized
> node2: Authorized
>
> Then:
> $ sudo pcs cluster setup mycluster node1 node2 --start --enable
> $ sudo pcs cluster enable --all
> node1: Cluster Enabled
> node2: Cluster Enabled
>
> After it:
> $ sudo pcs cluster start --all
> node1: Starting Cluster...
> node2: Starting Cluster...
>
> I checked my clusters with below command and they are up and running:
> $ sudo pcs status
> ...
> Node List:
> * Online: [ node1 node2 ]
> ....
>
> And finally, I tried to add a resource:
> $ sudo pcs resource create floating_ip ocf:heartbeat:IPaddr2
> ip=192.168.1.4 cidr_netmask=24 op monitor interval=5s
> $ sudo pcs resource create http_server ocf:heartbeat:apache
> configfile="/etc/httpd/conf.d/VirtualHost.conf" op monitor
> timeout="5s" interval="5s"
>
> On both servers (Main and Secondary), pcsd service is enabled, but
> when I want to see my Apache Web Server then it show me below error:
>
> Proxy Error
> The proxy server received an invalid response from an upstream
> server.
> The proxy server could not handle the request
> Reason: Error reading from remote server
>
> Why? Which parts of my configuration is wrong?
> The output of "sudo pcs status" command is:
> https://paste.ubuntu.com/p/V9KvHKwKtC/
>
> Thank you.
The thing to investigate is:
Failed Resource Actions:
* http_server_start_0 on node2 'error' (1): call=12, status='Timed Out', exitreason='', last-rc-change='2021-03-16 12:28:14 +03:30', queued=0ms, exec=40004ms
* http_server_start_0 on node1 'error' (1): call=14, status='Timed Out', exitreason='', last-rc-change='2021-03-16 12:28:52 +03:30', queued=0ms, exec=40002ms
The web server start timed out. Check the system, pacemaker and apache
logs around those times for any hints.
Did you enable and test the status URL? The ocf:heartbeat:apache agent
checks the status as part of its monitor (which is also done for
start). It would be something like:
cat <<-END >/etc/httpd/conf.d/status.conf
<Location /server-status>
SetHandler server-status
Require local
</Location>
END
--
Ken Gaillot <kgaillot at redhat.com>
More information about the Users
mailing list