mirror of
https://github.com/SickGear/SickGear.git
synced 2025-03-15 17:17:43 +00:00
Merge pull request #866 from JackDandy/feature/ChangeWebStartup
Change webserver startup to correctly use xheaders in reverse proxy o…
This commit is contained in:
commit
df1f23480c
2 changed files with 10 additions and 14 deletions
|
@ -7,6 +7,7 @@
|
||||||
* Update isotope library 2.2.2 to 3.0.1
|
* Update isotope library 2.2.2 to 3.0.1
|
||||||
* Add lazyload package 3.0.0 (2e318b1)
|
* Add lazyload package 3.0.0 (2e318b1)
|
||||||
* Change improve add show search results by comparing search term to an additional unidecoded result set
|
* Change improve add show search results by comparing search term to an additional unidecoded result set
|
||||||
|
* Change webserver startup to correctly use xheaders in reverse proxy or load balance set-ups
|
||||||
|
|
||||||
|
|
||||||
[develop changelog]
|
[develop changelog]
|
||||||
|
|
|
@ -19,6 +19,7 @@ class WebServer(threading.Thread):
|
||||||
self.alive = True
|
self.alive = True
|
||||||
self.name = 'TORNADO'
|
self.name = 'TORNADO'
|
||||||
self.io_loop = io_loop or IOLoop.current()
|
self.io_loop = io_loop or IOLoop.current()
|
||||||
|
self.server = None
|
||||||
|
|
||||||
self.options = options
|
self.options = options
|
||||||
self.options.setdefault('port', 8081)
|
self.options.setdefault('port', 8081)
|
||||||
|
@ -31,8 +32,7 @@ class WebServer(threading.Thread):
|
||||||
assert 'data_root' in self.options
|
assert 'data_root' in self.options
|
||||||
|
|
||||||
# web root
|
# web root
|
||||||
self.options['web_root'] = ('/' + self.options['web_root'].lstrip('/')) if self.options[
|
self.options['web_root'] = ('/' + self.options['web_root'].lstrip('/')) if self.options['web_root'] else ''
|
||||||
'web_root'] else ''
|
|
||||||
|
|
||||||
# tornado setup
|
# tornado setup
|
||||||
self.enable_https = self.options['enable_https']
|
self.enable_https = self.options['enable_https']
|
||||||
|
@ -58,10 +58,8 @@ class WebServer(threading.Thread):
|
||||||
debug=True,
|
debug=True,
|
||||||
autoreload=False,
|
autoreload=False,
|
||||||
gzip=True,
|
gzip=True,
|
||||||
xheaders=sickbeard.HANDLE_REVERSE_PROXY,
|
|
||||||
cookie_secret=sickbeard.COOKIE_SECRET,
|
cookie_secret=sickbeard.COOKIE_SECRET,
|
||||||
login_url='%s/login/' % self.options['web_root']
|
login_url='%s/login/' % self.options['web_root'])
|
||||||
)
|
|
||||||
|
|
||||||
# Main Handler
|
# Main Handler
|
||||||
self.app.add_handlers('.*$', [
|
self.app.add_handlers('.*$', [
|
||||||
|
@ -126,19 +124,16 @@ class WebServer(threading.Thread):
|
||||||
])
|
])
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if self.enable_https:
|
protocol, ssl_options = (('http', None),
|
||||||
protocol = 'https'
|
('https', {'certfile': self.https_cert, 'keyfile': self.https_key}))[self.enable_https]
|
||||||
self.server = HTTPServer(self.app, ssl_options={'certfile': self.https_cert, 'keyfile': self.https_key})
|
|
||||||
else:
|
|
||||||
protocol = 'http'
|
|
||||||
self.server = HTTPServer(self.app)
|
|
||||||
|
|
||||||
logger.log(u'Starting SickGear on ' + protocol + '://' + str(self.options['host']) + ':' + str(
|
logger.log(u'Starting SickGear on ' + protocol + '://' + str(self.options['host']) + ':' + str(
|
||||||
self.options['port']) + '/')
|
self.options['port']) + '/')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.server.listen(self.options['port'], self.options['host'])
|
self.server = self.app.listen(self.options['port'], self.options['host'], ssl_options=ssl_options,
|
||||||
except:
|
xheaders=sickbeard.HANDLE_REVERSE_PROXY, protocol=protocol)
|
||||||
|
except (StandardError, Exception):
|
||||||
etype, evalue, etb = sys.exc_info()
|
etype, evalue, etb = sys.exc_info()
|
||||||
logger.log(
|
logger.log(
|
||||||
'Could not start webserver on %s. Excpeption: %s, Error: %s' % (self.options['port'], etype, evalue),
|
'Could not start webserver on %s. Excpeption: %s, Error: %s' % (self.options['port'], etype, evalue),
|
||||||
|
|
Loading…
Reference in a new issue