| --- |
| name: Additional Networking Settings |
| menu: Installation and Configuration |
| route: /docs/installation/networking-settings |
| index: 4 |
| version: 1 |
| --- |
| |
| ## Additional Networking Settings |
| |
| ### CORS |
| |
| To configure CORS, or cross-origin resource sharing, the following dependency must be installed: |
| |
| ```python |
| pip install apache-superset[cors] |
| ``` |
| |
| The following keys in `superset_config.py` can be specified to configure CORS: |
| |
| - `ENABLE_CORS`: Must be set to `True` in order to enable CORS |
| - `CORS_OPTIONS`: options passed to Flask-CORS |
| ([documentation](https://flask-cors.corydolphin.com/en/latest/api.html#extension)) |
| |
| ### Domain Sharding |
| |
| Chrome allows up to 6 open connections per domain at a time. When there are more than 6 slices in |
| dashboard, a lot of time fetch requests are queued up and wait for next available socket. |
| [PR 5039](https://github.com/apache/superset/pull/5039) adds domain sharding to Superset, |
| and this feature will be enabled by configuration only (by default Superset doesn’t allow |
| cross-domain request). |
| |
| Add the following setting in your `superset_config.py` file: |
| |
| - `SUPERSET_WEBSERVER_DOMAINS`: list of allowed hostnames for domain sharding feature. |
| |
| ### Middleware |
| |
| Superset allows you to add your own middleware. To add your own middleware, update the |
| `ADDITIONAL_MIDDLEWARE` key in your `superset_config.py`. `ADDITIONAL_MIDDLEWARE` should be a list |
| of your additional middleware classes. |
| |
| For example, to use `AUTH_REMOTE_USER` from behind a proxy server like nginx, you have to add a |
| simple middleware class to add the value of `HTTP_X_PROXY_REMOTE_USER` (or any other custom header |
| from the proxy) to Gunicorn’s `REMOTE_USER` environment variable: |