--- Name: requestprocessors --- SilverStripe\Core\Injector\Injector: SilverStripe\Control\Director: # Note: Don't add 'class' config here, as it will affect ErrorDirector as well properties: Middlewares: TrustedProxyMiddleware: '%$SilverStripe\Control\Middleware\TrustedProxyMiddleware' AllowedHostsMiddleware: '%$SilverStripe\Control\Middleware\AllowedHostsMiddleware' SessionMiddleware: '%$SilverStripe\Control\Middleware\SessionMiddleware' RequestProcessorMiddleware: '%$SilverStripe\Control\RequestProcessor' FlushMiddleware: '%$SilverStripe\Control\Middleware\FlushMiddleware' ChangeDetectionMiddleware: '%$SilverStripe\Control\Middleware\ChangeDetectionMiddleware' HTTPCacheControleMiddleware: '%$SilverStripe\Control\Middleware\HTTPCacheControlMiddleware' CanonicalURLMiddleware: '%$SilverStripe\Control\Middleware\CanonicalURLMiddleware' SilverStripe\Control\Middleware\AllowedHostsMiddleware: properties: AllowedHosts: '`SS_ALLOWED_HOSTS`' SilverStripe\Control\Middleware\TrustedProxyMiddleware: properties: TrustedProxyIPs: '`SS_TRUSTED_PROXY_IPS`' SecurityRateLimitMiddleware: class: SilverStripe\Control\Middleware\RateLimitMiddleware properties: ExtraKey: 'Security' MaxAttempts: 10 Decay: 1 RateLimitedSecurityController: class: SilverStripe\Control\Middleware\RequestHandlerMiddlewareAdapter properties: RequestHandler: '%$SilverStripe\Security\Security' Middlewares: - '%$SecurityRateLimitMiddleware' --- Name: errorrequestprocessors After: - '#requestprocessors' --- SilverStripe\Core\Injector\Injector: # Note: If Director config changes, take note it will affect this config too SilverStripe\Core\Startup\ErrorDirector: '%$SilverStripe\Control\Director' --- Name: canonicalurls --- SilverStripe\Core\Injector\Injector: SilverStripe\Control\Middleware\CanonicalURLMiddleware: properties: ForceSSL: false ForceWWW: false