[Bug 1750356] Re: Apache2: BalancerMember worker hostname (65.character.host.name) too long
Andreas Hasenack
andreas at canonical.com
Wed Jun 27 18:40:41 UTC 2018
** Description changed:
[Impact]
- * An explanation of the effects of the bug on users and
+ * An explanation of the effects of the bug on users and
- * justification for backporting the fix to the stable release.
+ * justification for backporting the fix to the stable release.
- * In addition, it is helpful, but not required, to include an
- explanation of how the upload fixes this bug.
+ * In addition, it is helpful, but not required, to include an
+ explanation of how the upload fixes this bug.
[Test Case]
- * detailed instructions how to reproduce the bug
+ * Install the packages:
+ sudo apt install apache
- * these should allow someone who is not familiar with the affected
- package to reproduce the bug and verify that the updated package fixes
- the problem.
+ * Edit /etc/apache2/sites-available/000-default.conf and add the following block inside the VirtualHost block:
+ <Proxy "balancer://test">
+ BalancerMember "http://xxxxxx-xx-xxxxxxxx-xxxxx-xxxxx.xx-xxxx-x.xxxxx-xxx.xxx.xxxxx.xxxx:90/"
+ BalancerMember "http://xxxxxx-xx-xxxxxxxx-xxxxx-xxxxx.xx-xxxx-x.xxxxx-xxx.xxx.xxxxx.xxxx:91/"
+ </Proxy>
+ ProxyRequests Off
+ <Proxy *>
+ Order deny,allow
+ Allow from all
+ </Proxy>
+ RewriteEngine On
+ RewriteRule ^/foo balancer://test/foo [P,L]
+
+ * Enable the necessary apache modules:
+ sudo a2enmod proxy_balancer proxy lbmethod_byrequests proxy_http rewrite
+
+ * Restart apache2, which will fail:
+ sudo systemctl restart apache2
+
+ * Run the status action and expect an error like this:
+ sudo systemctl status apache2.service
+ ...
+ Jun 27 18:31:16 bionic-apache-1750356 apachectl[2218]: BalancerMember worker hostname (xxxxxx-xx-xxxxxxxx-xxxxx-xxxxx.xx-xxxx-x.xxxxx-xxx.xxx.xxxxx.xxxx) too long
+
+ * Update the apache2 packages to the ones available in proposed. As part of the upgrade, apache2 will be restarted again, and in this time it will work. Confirm with systemctl status apache2 that there are no errors this time:
+ sudo systemctl status apache2
+
+ * Try to access http://localhost/foo to trigger the load balancer
+ configuration. It will trigger a DNS error as we don't have an entry for
+ the BalancerMember hostname, but it shows that the configuration worked:
+
+ ubuntu at bionic-apache-1750356:~$ wget http://localhost/foo
+ --2018-06-27 18:39:58-- http://localhost/foo
+ Resolving localhost (localhost)... 127.0.0.1
+ Connecting to localhost (localhost)|127.0.0.1|:80... connected.
+ HTTP request sent, awaiting response... 502 Proxy Error
+ 2018-06-27 18:39:58 ERROR 502: Proxy Error.
+
+ ubuntu at bionic-apache-1750356:~$ tail /var/log/apache2/error.log -n 1
+ [Wed Jun 27 18:39:58.732097 2018] [proxy:error] [pid 3628:tid 139981565716224] [client 127.0.0.1:42508] AH00898: DNS lookup failure for: xxxxxx-xx-xxxxxxxx-xxxxx-xxxxx.xx-xxxx-x.xxxxx-xxx.xxx.xxxxx.xxxx returned by /foo
+
[Regression Potential]
- * discussion of how regressions are most likely to manifest as a result
+ * discussion of how regressions are most likely to manifest as a result
of this change.
- * It is assumed that any SRU candidate patch is well-tested before
- upload and has a low overall risk of regression, but it's important
- to make the effort to think about what ''could'' happen in the
- event of a regression.
+ * It is assumed that any SRU candidate patch is well-tested before
+ upload and has a low overall risk of regression, but it's important
+ to make the effort to think about what ''could'' happen in the
+ event of a regression.
- * This both shows the SRU team that the risks have been considered,
- and provides guidance to testers in regression-testing the SRU.
+ * This both shows the SRU team that the risks have been considered,
+ and provides guidance to testers in regression-testing the SRU.
[Other Info]
-
- * Anything else you think is useful to include
- * Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board
- * and address these questions in advance
+
+ * Anything else you think is useful to include
+ * Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board
+ * and address these questions in advance
== Original Description ==
If the BalancerMember directive contains a URL with a hostname longer
than X characters, we fail as follows:
BalancerMember worker hostname (65.character.host.name) too long
The size of the hostname needs to be raised so it is RFC1035 compliant.
Bug fixed upstream at
https://bz.apache.org/bugzilla/show_bug.cgi?id=62085, patches backported
to v2.4.30:
http://svn.apache.org/r1824455
http://svn.apache.org/r1824504
(Both patches required, first is extended by second).
** Description changed:
[Impact]
- * An explanation of the effects of the bug on users and
+ If the BalancerMember directive contains a URL with a hostname longer
+ than X characters, apache2 will fail to start with the following error:
- * justification for backporting the fix to the stable release.
+ BalancerMember worker hostname (65.character.host.name) too long
- * In addition, it is helpful, but not required, to include an
- explanation of how the upload fixes this bug.
+ RFC1035 allows for longer hostnames, and apache upstream has this fix
+ already.
[Test Case]
* Install the packages:
sudo apt install apache
* Edit /etc/apache2/sites-available/000-default.conf and add the following block inside the VirtualHost block:
- <Proxy "balancer://test">
- BalancerMember "http://xxxxxx-xx-xxxxxxxx-xxxxx-xxxxx.xx-xxxx-x.xxxxx-xxx.xxx.xxxxx.xxxx:90/"
- BalancerMember "http://xxxxxx-xx-xxxxxxxx-xxxxx-xxxxx.xx-xxxx-x.xxxxx-xxx.xxx.xxxxx.xxxx:91/"
- </Proxy>
- ProxyRequests Off
- <Proxy *>
- Order deny,allow
- Allow from all
- </Proxy>
- RewriteEngine On
- RewriteRule ^/foo balancer://test/foo [P,L]
+ <Proxy "balancer://test">
+ BalancerMember "http://xxxxxx-xx-xxxxxxxx-xxxxx-xxxxx.xx-xxxx-x.xxxxx-xxx.xxx.xxxxx.xxxx:90/"
+ BalancerMember "http://xxxxxx-xx-xxxxxxxx-xxxxx-xxxxx.xx-xxxx-x.xxxxx-xxx.xxx.xxxxx.xxxx:91/"
+ </Proxy>
+ ProxyRequests Off
+ <Proxy *>
+ Order deny,allow
+ Allow from all
+ </Proxy>
+ RewriteEngine On
+ RewriteRule ^/foo balancer://test/foo [P,L]
* Enable the necessary apache modules:
sudo a2enmod proxy_balancer proxy lbmethod_byrequests proxy_http rewrite
* Restart apache2, which will fail:
sudo systemctl restart apache2
* Run the status action and expect an error like this:
sudo systemctl status apache2.service
...
Jun 27 18:31:16 bionic-apache-1750356 apachectl[2218]: BalancerMember worker hostname (xxxxxx-xx-xxxxxxxx-xxxxx-xxxxx.xx-xxxx-x.xxxxx-xxx.xxx.xxxxx.xxxx) too long
* Update the apache2 packages to the ones available in proposed. As part of the upgrade, apache2 will be restarted again, and in this time it will work. Confirm with systemctl status apache2 that there are no errors this time:
sudo systemctl status apache2
* Try to access http://localhost/foo to trigger the load balancer
configuration. It will trigger a DNS error as we don't have an entry for
the BalancerMember hostname, but it shows that the configuration worked:
ubuntu at bionic-apache-1750356:~$ wget http://localhost/foo
--2018-06-27 18:39:58-- http://localhost/foo
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 502 Proxy Error
2018-06-27 18:39:58 ERROR 502: Proxy Error.
ubuntu at bionic-apache-1750356:~$ tail /var/log/apache2/error.log -n 1
[Wed Jun 27 18:39:58.732097 2018] [proxy:error] [pid 3628:tid 139981565716224] [client 127.0.0.1:42508] AH00898: DNS lookup failure for: xxxxxx-xx-xxxxxxxx-xxxxx-xxxxx.xx-xxxx-x.xxxxx-xxx.xxx.xxxxx.xxxx returned by /foo
-
[Regression Potential]
* discussion of how regressions are most likely to manifest as a result
of this change.
* It is assumed that any SRU candidate patch is well-tested before
upload and has a low overall risk of regression, but it's important
to make the effort to think about what ''could'' happen in the
event of a regression.
* This both shows the SRU team that the risks have been considered,
and provides guidance to testers in regression-testing the SRU.
[Other Info]
* Anything else you think is useful to include
* Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board
* and address these questions in advance
== Original Description ==
If the BalancerMember directive contains a URL with a hostname longer
than X characters, we fail as follows:
BalancerMember worker hostname (65.character.host.name) too long
The size of the hostname needs to be raised so it is RFC1035 compliant.
Bug fixed upstream at
https://bz.apache.org/bugzilla/show_bug.cgi?id=62085, patches backported
to v2.4.30:
http://svn.apache.org/r1824455
http://svn.apache.org/r1824504
(Both patches required, first is extended by second).
--
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1750356
Title:
Apache2: BalancerMember worker hostname (65.character.host.name) too
long
To manage notifications about this bug go to:
https://bugs.launchpad.net/apache2/+bug/1750356/+subscriptions
More information about the Ubuntu-server-bugs
mailing list