Traditionally (AFAIK for at least the last decade), tools that support the no_proxy environment variable support specifying an entire subdomain by prefixing it with a "dot". For example, to exclude any website under example.com from using the proxy, you would set no_proxy to .example.com (export no_proxy=.example.com).
A regression in wget 1.19 changed this behavior to expect non-prefixed domains (example.com vs .example.com). This regression was ultimately fixed and released with the 1.20 release of wget. bionic includes the regressed behavior version of wget.
The regression was apparently introduced in wget 1.19.3. This bug should not effect other Ubuntu releases (xenial contains 1.17.1 and both disco and eoan contain 1.20.x versions that have the upstream fix).
For more details, see references below and my additional comments on the RHEL8 bug filed for this issue (RH bug 1763702 linked below).
What happens:
no_proxy=.example.com in bionic sends requests to the proxy server for URLs like http://www.example.com/ despite requesting proxy exception via no_proxy.
What should happen:
Request should bypass the proxy and go directly to the web server. (works in xenial, disco and eoan as expected).
Traditionally (AFAIK for at least the last decade), tools that support the no_proxy environment variable support specifying an entire subdomain by prefixing it with a "dot". For example, to exclude any website under example.com from using the proxy, you would set no_proxy to .example.com (export no_proxy= .example. com).
A regression in wget 1.19 changed this behavior to expect non-prefixed domains (example.com vs .example.com). This regression was ultimately fixed and released with the 1.20 release of wget. bionic includes the regressed behavior version of wget.
The regression was apparently introduced in wget 1.19.3. This bug should not effect other Ubuntu releases (xenial contains 1.17.1 and both disco and eoan contain 1.20.x versions that have the upstream fix).
For more details, see references below and my additional comments on the RHEL8 bug filed for this issue (RH bug 1763702 linked below).
What happens: .example. com in bionic sends requests to the proxy server for URLs like http:// www.example. com/ despite requesting proxy exception via no_proxy.
no_proxy=
What should happen:
Request should bypass the proxy and go directly to the web server. (works in xenial, disco and eoan as expected).
System/software information: div6mirrors. llan.ll. mit.edu: 80/ubuntu bionic-updates/main amd64 Packages div6mirrors. llan.ll. mit.edu: 80/ubuntu bionic- security/ main amd64 Packages dpkg/status 19.4-1ubuntu2 500 div6mirrors. llan.ll. mit.edu: 80/ubuntu bionic/main amd64 Packages
$ lsb_release -rd
Description: Ubuntu 18.04.3 LTS
Release: 18.04
$ apt-cache policy wget
wget:
Installed: 1.19.4-1ubuntu2.2
Candidate: 1.19.4-1ubuntu2.2
Version table:
*** 1.19.4-1ubuntu2.2 500
500 http://
500 http://
100 /var/lib/
1.
500 http://
References: /savannah. gnu.org/ bugs/?53622
* Upstream wget bug report:
GNU Wget - Bugs: bug #53622 wget no_proxy leading dot on (sub)domains not working contradicting man page
https:/
* Upstream commit reference that introduces the regression git.savannah. gnu.org/ cgit/wget. git/commit/ ?id=fd85ac9cc62 3847e9d94d9f924 1ab34e2c146cbf
http://
* Upstream commit reference that introduces the fix git.savannah. gnu.org/ cgit/wget. git/commit/ ?id=fd85ac9cc62 3847e9d94d9f924 1ab34e2c146cbf
http://
* Expected behavior of no_proxy as documented in the GNU Emacs manual: https:/ /www.gnu. org/software/ emacs/manual/ html_node/ url/Proxies. html
* Red Hat Bugzilla entry for this issue (Reported against RHEL8.1) /bugzilla. redhat. com/show_ bug.cgi? id=1763702
Bug 1763702 - wget is ignoring no_proxy environment variable
https:/
* Red Hat Bugzilla entry tracking the (now released) errata package for RHEL8.1 /bugzilla. redhat. com/show_ bug.cgi? id=1772821
Bug 1772821 - wget is ignoring no_proxy environment variable [rhel-8.1.0.z]
https:/