handle_reverse_proxy = 1 has no effect
Summary
Setting option handle_reverse_proxy = 1
has no effect. In particular redirection during SSO login does not take header X-Scheme
/X-Forwarded-Proto
into account.
Branch/Commit
master/e233cb68
OS
Ubuntu 18.04.1 LTS
Steps to reproduce
- Configure sickrage behind a reverse proxy configured to send
X-Forwarded-Proto: https
header.
Apache configuration example :
<VirtualHost *:443> ServerName sickrage.example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/sickrage.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sickrage.example.com/privkey.pem
ProxyPass / http://localhost:8081/
ProxyPassReverse / http://localhost:8081/
ProxyPreserveHost on
RequestHeader set X-Forwarded-Proto "https"
-
Set
handle_reverse_proxy = 1
-
Login
What is the current bug behavior?
After SSO login, redirection URL is to http://sickrage.example.com/
What is the expected correct behavior?
Redirection should be to https://sickrage.example.com/
Relevant logs and/or screenshots
N/A
Possible fixes
The following patch solves the issue:
diff --git a/sickrage/core/webserver/__init__.py b/sickrage/core/webserver/__init__.py
index e9aaf1e11..e9d87e42d 100644
--- a/sickrage/core/webserver/__init__.py
+++ b/sickrage/core/webserver/__init__.py
@@ -164,11 +164,10 @@ class WebServer(object):
debug=True,
autoreload=False,
gzip=sickrage.app.config.web_use_gzip,
- xheaders=sickrage.app.config.handle_reverse_proxy,
cookie_secret=sickrage.app.config.web_cookie_secret,
login_url='%s/login/' % sickrage.app.config.web_root)
- self.server = HTTPServer(self.app, no_keep_alive=True)
+ self.server = HTTPServer(self.app, no_keep_alive=True, xheaders=sickrage.app.config.handle_reverse_proxy)
if sickrage.app.config.enable_https: self.server.ssl_options = {
"certfile": sickrage.app.config.https_cert,