| HTTP_REQUEST_NODE_MAX_BINARY_SIZE=10485760 | HTTP_REQUEST_NODE_MAX_BINARY_SIZE=10485760 | ||||
| HTTP_REQUEST_NODE_MAX_TEXT_SIZE=1048576 | HTTP_REQUEST_NODE_MAX_TEXT_SIZE=1048576 | ||||
| # Respect X-* headers to redirect clients | |||||
| RESPECT_XFORWARD_HEADERS_ENABLED=false | |||||
| # Log file path | # Log file path | ||||
| LOG_FILE= | LOG_FILE= | ||||
| ext_login, | ext_login, | ||||
| ext_mail, | ext_mail, | ||||
| ext_migrate, | ext_migrate, | ||||
| ext_proxy_fix, | |||||
| ext_redis, | ext_redis, | ||||
| ext_sentry, | ext_sentry, | ||||
| ext_storage, | ext_storage, | ||||
| ext_mail.init_app(app) | ext_mail.init_app(app) | ||||
| ext_hosting_provider.init_app(app) | ext_hosting_provider.init_app(app) | ||||
| ext_sentry.init_app(app) | ext_sentry.init_app(app) | ||||
| ext_proxy_fix.init_app(app) | |||||
| # Flask-Login configuration | # Flask-Login configuration |
| default=None, | default=None, | ||||
| ) | ) | ||||
| RESPECT_XFORWARD_HEADERS_ENABLED: bool = Field( | |||||
| description="Enable or disable the X-Forwarded-For Proxy Fix middleware from Werkzeug" | |||||
| " to respect X-* headers to redirect clients", | |||||
| default=False, | |||||
| ) | |||||
| class InnerAPIConfig(BaseSettings): | class InnerAPIConfig(BaseSettings): | ||||
| """ | """ |
| from flask import Flask | |||||
| from configs import dify_config | |||||
| def init_app(app: Flask): | |||||
| if dify_config.RESPECT_XFORWARD_HEADERS_ENABLED: | |||||
| from werkzeug.middleware.proxy_fix import ProxyFix | |||||
| app.wsgi_app = ProxyFix(app.wsgi_app) |