@@ -1133,11 +1133,14 @@ class ReverseProxyPathFix:
11331133
11341134 base_url = urlparse(settings['server']['base_url'])
11351135 self.script_name = base_url.path
1136+ if self.script_name.endswith('/'):
1137+ # remove trailing slash to avoid infinite redirect on the index
1138+ # see https://github.com/searx/searx/issues/2729
1139+ self.script_name = self.script_name[:-1]
11361140 self.scheme = base_url.scheme
11371141 self.server = base_url.netloc
11381142
11391143 def __call__(self, environ, start_response):
1140−
11411144 script_name = self.script_name or environ.get('HTTP_X_SCRIPT_NAME', '')
11421145 if script_name:
11431146 environ['SCRIPT_NAME'] = script_name