Skip to content

Commit 95c9e91

Browse files
committed
Add ProxyFix
1 parent 3c82aac commit 95c9e91

1 file changed

Lines changed: 5 additions & 28 deletions

File tree

backend/app.py

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
import json
1717

18+
from werkzeug.middleware.proxy_fix import ProxyFix
19+
1820
# import re
1921
from pathlib import Path
2022
from pkg_resources import iter_entry_points
@@ -67,38 +69,15 @@
6769

6870
###########################################################################################
6971

70-
71-
class ReverseProxied(object):
72-
def __init__(self, app_in, script_name=None, scheme=None, server=None):
73-
self.app = app_in
74-
self.script_name = script_name
75-
self.scheme = scheme
76-
self.server = server
77-
78-
def __call__(self, environ, start_response):
79-
script_name = environ.get("HTTP_X_SCRIPT_NAME", "") or self.script_name
80-
if script_name:
81-
environ["SCRIPT_NAME"] = script_name
82-
path_info = environ["PATH_INFO"]
83-
if path_info.startswith(script_name):
84-
environ["PATH_INFO"] = path_info[len(script_name) :]
85-
scheme = environ.get("HTTP_X_SCHEME", "") or self.scheme
86-
if scheme:
87-
environ["wsgi.url_scheme"] = scheme
88-
server = environ.get("HTTP_X_FORWARDED_SERVER", "") or self.server
89-
if server:
90-
environ["HTTP_HOST"] = server
91-
return self.app(environ, start_response)
92-
93-
9472
# initiation du framework flask
9573
app = Flask(__name__, template_folder="oeasc/templates", static_folder="../static")
9674

97-
9875
# cors permet de gérer les requetes venant d'autres domaines. * signifie que tout le monde peut se connecter
9976
cors = CORS(app, resources={r"*": {"origins": "*"}}, supports_credentials=True)
10077

101-
# app.wsgi_app = ReverseProxied(app.wsgi_app)
78+
79+
app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1, x_prefix=1)
80+
10281

10382
# intégration des données de configuration dans l'application. Mettre silent=True en production
10483
if (
@@ -148,8 +127,6 @@ def __call__(self, environ, start_response):
148127
app.config["MAIL"] = mail
149128
# initialisation des parametres de mails. Récupère les paramètres dans config.py via app.config
150129
mail.init_app(app)
151-
# ajoute l'instance mail à la configuration de l'application pour y acceder facilement
152-
app.config["MAIL"] = mail
153130

154131
# pour signer les cookies de session et proteger contre les attaques CSRF
155132
# inutile c'est déja déclaré dans app.config.from_pyfile("../config/config.py", silent=True)

0 commit comments

Comments
 (0)