2015-10-01 17:43:51 |
Cd-MaN |
bug |
|
|
added bug |
2016-03-21 13:09:24 |
Launchpad Janitor |
uwsgi (Ubuntu): status |
New |
Confirmed |
|
2016-03-21 13:22:23 |
Douglas Fraser |
bug |
|
|
added subscriber Douglas Fraser |
2016-06-29 09:11:53 |
Ben Webb |
bug |
|
|
added subscriber Ben Webb |
2016-06-29 09:16:57 |
Ben Webb |
bug watch added |
|
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752783 |
|
2017-08-29 19:29:40 |
Stefano Rivera |
bug task added |
|
uwsgi (Debian) |
|
2017-08-29 19:57:55 |
Stefano Rivera |
description |
If I specify "ProxyPass unix:/run/uwsgi/app/site/socket|uwsgi://" (this is inside of a location block, so need for the initial path) I will get "error parsing URL //: Invalid host/port" in the apache logs when I try to access that URL. If I try to change the final part (ie. "|uwsgi://" to "|uwsgi://localhost/"), it just tries to connect through TCP.
The problem is fixed (at least for me) by the patch from the mailing list: http://lists.unbit.it/pipermail/uwsgi/2015-September/008185.html (I also let Debian know about this, so perhaps the fix will come from upstream - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752783#35).
There is also a workaround: use "vanilla" mod_proxy_http over unix domain sockets:
ProxyPass "/foo" "unix:/var/run/uwsgi/foo.socket|http://uwsgi-uds-foo/"
PS. Apparently, if you have multiple instances of uwsgi you want to connect to, you need to specify different names for them (ie. "http://uwsgi-uds-foo/", "http://uwsgi-uds-bar/", etc), having just different paths to the sockets will not work. |
== SRU ==
Reproduction:
=== demo.conf ===
<VirtualHost *:80>
ServerName localhost
ProxyPass / unix:/run/demo.sock|uwsgi://demo/
</VirtualHost>
=== demo.ini ===
[uwsgi]
plugin = python3
socket = /run/demo.sock
umask = 0111
wsgi-file = demo.py
=== demo.py ===
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
=== Steps ===
1. apt install apache2 libapache2-mod-proxy-uwsgi uwsgi-plugin-python3
2. a2enmod proxy_uwsgi
3. rm /etc/apache2/sites-enabled/000-default.conf
4. cp demo.conf /etc/apache2/sites/enabled
5. service apache2 restart (. /etc/apache2/envvars; apache2)
6. uwsgi --ini demo.ini
7. curl http://localhost/
Success: Hello World
Failure: A 502 Proxy Error, with this in the logs:
DNS lookup failure for: demo returned by /
== ORIGINAL REPROT ==
If I specify "ProxyPass unix:/run/uwsgi/app/site/socket|uwsgi://" (this is inside of a location block, so need for the initial path) I will get "error parsing URL //: Invalid host/port" in the apache logs when I try to access that URL. If I try to change the final part (ie. "|uwsgi://" to "|uwsgi://localhost/"), it just tries to connect through TCP.
The problem is fixed (at least for me) by the patch from the mailing list: http://lists.unbit.it/pipermail/uwsgi/2015-September/008185.html (I also let Debian know about this, so perhaps the fix will come from upstream - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752783#35).
There is also a workaround: use "vanilla" mod_proxy_http over unix domain sockets:
ProxyPass "/foo" "unix:/var/run/uwsgi/foo.socket|http://uwsgi-uds-foo/"
PS. Apparently, if you have multiple instances of uwsgi you want to connect to, you need to specify different names for them (ie. "http://uwsgi-uds-foo/", "http://uwsgi-uds-bar/", etc), having just different paths to the sockets will not work. |
|
2017-08-29 19:58:19 |
Stefano Rivera |
nominated for series |
|
Ubuntu Xenial |
|
2017-08-29 19:58:19 |
Stefano Rivera |
bug task added |
|
uwsgi (Ubuntu Xenial) |
|
2017-08-29 19:58:24 |
Stefano Rivera |
uwsgi (Ubuntu): status |
Confirmed |
Fix Released |
|
2017-08-29 19:58:27 |
Stefano Rivera |
uwsgi (Ubuntu Xenial): importance |
Undecided |
Medium |
|
2017-08-29 19:58:37 |
Stefano Rivera |
uwsgi (Ubuntu Xenial): status |
New |
In Progress |
|
2017-08-29 20:05:52 |
Stefano Rivera |
description |
== SRU ==
Reproduction:
=== demo.conf ===
<VirtualHost *:80>
ServerName localhost
ProxyPass / unix:/run/demo.sock|uwsgi://demo/
</VirtualHost>
=== demo.ini ===
[uwsgi]
plugin = python3
socket = /run/demo.sock
umask = 0111
wsgi-file = demo.py
=== demo.py ===
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
=== Steps ===
1. apt install apache2 libapache2-mod-proxy-uwsgi uwsgi-plugin-python3
2. a2enmod proxy_uwsgi
3. rm /etc/apache2/sites-enabled/000-default.conf
4. cp demo.conf /etc/apache2/sites/enabled
5. service apache2 restart (. /etc/apache2/envvars; apache2)
6. uwsgi --ini demo.ini
7. curl http://localhost/
Success: Hello World
Failure: A 502 Proxy Error, with this in the logs:
DNS lookup failure for: demo returned by /
== ORIGINAL REPROT ==
If I specify "ProxyPass unix:/run/uwsgi/app/site/socket|uwsgi://" (this is inside of a location block, so need for the initial path) I will get "error parsing URL //: Invalid host/port" in the apache logs when I try to access that URL. If I try to change the final part (ie. "|uwsgi://" to "|uwsgi://localhost/"), it just tries to connect through TCP.
The problem is fixed (at least for me) by the patch from the mailing list: http://lists.unbit.it/pipermail/uwsgi/2015-September/008185.html (I also let Debian know about this, so perhaps the fix will come from upstream - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752783#35).
There is also a workaround: use "vanilla" mod_proxy_http over unix domain sockets:
ProxyPass "/foo" "unix:/var/run/uwsgi/foo.socket|http://uwsgi-uds-foo/"
PS. Apparently, if you have multiple instances of uwsgi you want to connect to, you need to specify different names for them (ie. "http://uwsgi-uds-foo/", "http://uwsgi-uds-bar/", etc), having just different paths to the sockets will not work. |
== SRU ==
Reproduction:
=== demo.conf ===
<VirtualHost *:80>
ServerName localhost
ProxyPass / unix:/run/demo.sock|uwsgi://demo/
</VirtualHost>
=== demo.ini ===
[uwsgi]
plugin = python3
socket = /run/demo.sock
umask = 0111
wsgi-file = demo.py
=== demo.py ===
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
=== Steps ===
1. apt install apache2 libapache2-mod-proxy-uwsgi uwsgi-plugin-python3
2. a2enmod proxy_uwsgi
3. rm /etc/apache2/sites-enabled/000-default.conf
4. cp demo.conf /etc/apache2/sites-enabled/
5. service apache2 restart (. /etc/apache2/envvars; apache2)
6. uwsgi --ini demo.ini
7. curl http://localhost/
Success: Hello World
Failure: A 502 Proxy Error, with this in the logs:
DNS lookup failure for: demo returned by /
== ORIGINAL REPROT ==
If I specify "ProxyPass unix:/run/uwsgi/app/site/socket|uwsgi://" (this is inside of a location block, so need for the initial path) I will get "error parsing URL //: Invalid host/port" in the apache logs when I try to access that URL. If I try to change the final part (ie. "|uwsgi://" to "|uwsgi://localhost/"), it just tries to connect through TCP.
The problem is fixed (at least for me) by the patch from the mailing list: http://lists.unbit.it/pipermail/uwsgi/2015-September/008185.html (I also let Debian know about this, so perhaps the fix will come from upstream - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752783#35).
There is also a workaround: use "vanilla" mod_proxy_http over unix domain sockets:
ProxyPass "/foo" "unix:/var/run/uwsgi/foo.socket|http://uwsgi-uds-foo/"
PS. Apparently, if you have multiple instances of uwsgi you want to connect to, you need to specify different names for them (ie. "http://uwsgi-uds-foo/", "http://uwsgi-uds-bar/", etc), having just different paths to the sockets will not work. |
|
2017-08-29 20:06:14 |
Stefano Rivera |
description |
== SRU ==
Reproduction:
=== demo.conf ===
<VirtualHost *:80>
ServerName localhost
ProxyPass / unix:/run/demo.sock|uwsgi://demo/
</VirtualHost>
=== demo.ini ===
[uwsgi]
plugin = python3
socket = /run/demo.sock
umask = 0111
wsgi-file = demo.py
=== demo.py ===
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
=== Steps ===
1. apt install apache2 libapache2-mod-proxy-uwsgi uwsgi-plugin-python3
2. a2enmod proxy_uwsgi
3. rm /etc/apache2/sites-enabled/000-default.conf
4. cp demo.conf /etc/apache2/sites-enabled/
5. service apache2 restart (. /etc/apache2/envvars; apache2)
6. uwsgi --ini demo.ini
7. curl http://localhost/
Success: Hello World
Failure: A 502 Proxy Error, with this in the logs:
DNS lookup failure for: demo returned by /
== ORIGINAL REPROT ==
If I specify "ProxyPass unix:/run/uwsgi/app/site/socket|uwsgi://" (this is inside of a location block, so need for the initial path) I will get "error parsing URL //: Invalid host/port" in the apache logs when I try to access that URL. If I try to change the final part (ie. "|uwsgi://" to "|uwsgi://localhost/"), it just tries to connect through TCP.
The problem is fixed (at least for me) by the patch from the mailing list: http://lists.unbit.it/pipermail/uwsgi/2015-September/008185.html (I also let Debian know about this, so perhaps the fix will come from upstream - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752783#35).
There is also a workaround: use "vanilla" mod_proxy_http over unix domain sockets:
ProxyPass "/foo" "unix:/var/run/uwsgi/foo.socket|http://uwsgi-uds-foo/"
PS. Apparently, if you have multiple instances of uwsgi you want to connect to, you need to specify different names for them (ie. "http://uwsgi-uds-foo/", "http://uwsgi-uds-bar/", etc), having just different paths to the sockets will not work. |
== SRU ==
Reproduction:
=== demo.conf ===
<VirtualHost *:80>
ServerName localhost
ProxyPass / unix:/run/demo.sock|uwsgi://demo/
</VirtualHost>
=== demo.ini ===
[uwsgi]
plugin = python3
socket = /run/demo.sock
umask = 0111
wsgi-file = demo.py
=== demo.py ===
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
=== Steps ===
1. apt install apache2 libapache2-mod-proxy-uwsgi uwsgi-plugin-python3
2. a2enmod proxy_uwsgi
3. rm /etc/apache2/sites-enabled/000-default.conf
4. cp demo.conf /etc/apache2/sites-enabled/
5. service apache2 restart
lazy chroot option: (. /etc/apache2/envvars; apache2)
6. uwsgi --ini demo.ini
7. curl http://localhost/
Success: Hello World
Failure: A 502 Proxy Error, with this in the logs:
DNS lookup failure for: demo returned by /
== ORIGINAL REPROT ==
If I specify "ProxyPass unix:/run/uwsgi/app/site/socket|uwsgi://" (this is inside of a location block, so need for the initial path) I will get "error parsing URL //: Invalid host/port" in the apache logs when I try to access that URL. If I try to change the final part (ie. "|uwsgi://" to "|uwsgi://localhost/"), it just tries to connect through TCP.
The problem is fixed (at least for me) by the patch from the mailing list: http://lists.unbit.it/pipermail/uwsgi/2015-September/008185.html (I also let Debian know about this, so perhaps the fix will come from upstream - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752783#35).
There is also a workaround: use "vanilla" mod_proxy_http over unix domain sockets:
ProxyPass "/foo" "unix:/var/run/uwsgi/foo.socket|http://uwsgi-uds-foo/"
PS. Apparently, if you have multiple instances of uwsgi you want to connect to, you need to specify different names for them (ie. "http://uwsgi-uds-foo/", "http://uwsgi-uds-bar/", etc), having just different paths to the sockets will not work. |
|
2017-08-29 20:53:57 |
Stefano Rivera |
attachment added |
|
uwsgi_2.0.12-5ubuntu3.1.debdiff https://bugs.launchpad.net/ubuntu/+source/uwsgi/+bug/1501854/+attachment/4941049/+files/uwsgi_2.0.12-5ubuntu3.1.debdiff |
|
2017-08-30 16:28:28 |
Bug Watch Updater |
uwsgi (Debian): status |
Unknown |
Fix Released |
|
2017-08-30 23:33:51 |
Stefano Rivera |
description |
== SRU ==
Reproduction:
=== demo.conf ===
<VirtualHost *:80>
ServerName localhost
ProxyPass / unix:/run/demo.sock|uwsgi://demo/
</VirtualHost>
=== demo.ini ===
[uwsgi]
plugin = python3
socket = /run/demo.sock
umask = 0111
wsgi-file = demo.py
=== demo.py ===
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
=== Steps ===
1. apt install apache2 libapache2-mod-proxy-uwsgi uwsgi-plugin-python3
2. a2enmod proxy_uwsgi
3. rm /etc/apache2/sites-enabled/000-default.conf
4. cp demo.conf /etc/apache2/sites-enabled/
5. service apache2 restart
lazy chroot option: (. /etc/apache2/envvars; apache2)
6. uwsgi --ini demo.ini
7. curl http://localhost/
Success: Hello World
Failure: A 502 Proxy Error, with this in the logs:
DNS lookup failure for: demo returned by /
== ORIGINAL REPROT ==
If I specify "ProxyPass unix:/run/uwsgi/app/site/socket|uwsgi://" (this is inside of a location block, so need for the initial path) I will get "error parsing URL //: Invalid host/port" in the apache logs when I try to access that URL. If I try to change the final part (ie. "|uwsgi://" to "|uwsgi://localhost/"), it just tries to connect through TCP.
The problem is fixed (at least for me) by the patch from the mailing list: http://lists.unbit.it/pipermail/uwsgi/2015-September/008185.html (I also let Debian know about this, so perhaps the fix will come from upstream - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752783#35).
There is also a workaround: use "vanilla" mod_proxy_http over unix domain sockets:
ProxyPass "/foo" "unix:/var/run/uwsgi/foo.socket|http://uwsgi-uds-foo/"
PS. Apparently, if you have multiple instances of uwsgi you want to connect to, you need to specify different names for them (ie. "http://uwsgi-uds-foo/", "http://uwsgi-uds-bar/", etc), having just different paths to the sockets will not work. |
= SRU =
== Impact ==
Using unix domain sockets for getting traffic from Apache to uwsgi is impossible. This is a regression from previous releases.
== Regression Potential ==
Patch is upstream, and that part of the codebase hasn't been touched since. Presumably that means it has been well tested by other uwsgi users.
It was also previously applied in the Debian/Ubuntu package. It was dropped by accident.
The patch only applies to the mod_proxy_uwsgi module, so no other bits of uwsgi should be affected (it does build *many* binaries and packages).
== Test Case ==
=== demo.conf ===
<VirtualHost *:80>
ServerName localhost
ProxyPass / unix:/run/demo.sock|uwsgi://demo/
</VirtualHost>
=== demo.ini ===
[uwsgi]
plugin = python3
socket = /run/demo.sock
umask = 0111
wsgi-file = demo.py
=== demo.py ===
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
=== Steps ===
1. apt install apache2 libapache2-mod-proxy-uwsgi uwsgi-plugin-python3
2. a2enmod proxy_uwsgi
3. rm /etc/apache2/sites-enabled/000-default.conf
4. cp demo.conf /etc/apache2/sites-enabled/
5. service apache2 restart
lazy chroot option: (. /etc/apache2/envvars; apache2)
6. uwsgi --ini demo.ini
7. curl http://localhost/
Success: Hello World
Failure: A 502 Proxy Error, with this in the logs:
DNS lookup failure for: demo returned by /
= ORIGINAL REPROT =
If I specify "ProxyPass unix:/run/uwsgi/app/site/socket|uwsgi://" (this is inside of a location block, so need for the initial path) I will get "error parsing URL //: Invalid host/port" in the apache logs when I try to access that URL. If I try to change the final part (ie. "|uwsgi://" to "|uwsgi://localhost/"), it just tries to connect through TCP.
The problem is fixed (at least for me) by the patch from the mailing list: http://lists.unbit.it/pipermail/uwsgi/2015-September/008185.html (I also let Debian know about this, so perhaps the fix will come from upstream - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752783#35).
There is also a workaround: use "vanilla" mod_proxy_http over unix domain sockets:
ProxyPass "/foo" "unix:/var/run/uwsgi/foo.socket|http://uwsgi-uds-foo/"
PS. Apparently, if you have multiple instances of uwsgi you want to connect to, you need to specify different names for them (ie. "http://uwsgi-uds-foo/", "http://uwsgi-uds-bar/", etc), having just different paths to the sockets will not work. |
|
2017-08-31 20:58:30 |
Brian Murray |
uwsgi (Ubuntu Xenial): status |
In Progress |
Fix Committed |
|
2017-08-31 20:58:31 |
Brian Murray |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2017-08-31 20:58:34 |
Brian Murray |
bug |
|
|
added subscriber SRU Verification |
2017-08-31 20:58:38 |
Brian Murray |
tags |
|
verification-needed verification-needed-xenial |
|
2017-09-01 19:46:34 |
Stefano Rivera |
tags |
verification-needed verification-needed-xenial |
verification-done verification-done-xenial |
|
2017-09-13 01:02:23 |
Launchpad Janitor |
uwsgi (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|
2017-09-13 01:02:35 |
Chris Halse Rogers |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|