blob: 2f46fa806c2e5d2d581378df11a7351dc6199f35 [file] [log] [blame]
{"version":3,"sources":["webpack:///./src/pages/docs/installation/networking_settings.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","parentName","isMDXComponent"],"mappings":"wPAQaA,G,UAAe,S,qOAC5B,IAAMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAG5E,iBAAQ,CACN,GAAM,kCADR,kCAGA,iBAAQ,CACN,GAAM,QADR,QAGA,yHACA,uBAAK,gCAAMC,WAAW,OAAU,CAC5B,UAAa,oBADZ,wCAIL,8CAA6B,0BAAYA,WAAW,KAAvB,sBAA7B,wCACA,sBACE,kBAAIA,WAAW,MAAK,0BAAYA,WAAW,MAAvB,eAApB,oBAAiG,0BAAYA,WAAW,MAAvB,QAAjG,4BACA,kBAAIA,WAAW,MAAK,0BAAYA,WAAW,MAAvB,gBAApB,oCACH,6BAAGA,WAAW,MAAS,CAChB,KAAQ,oEADf,iBADG,MAKF,iBAAQ,CACN,GAAM,mBADR,mBAGA,sNAEF,6BAAGA,WAAW,KAAQ,CAChB,KAAQ,iDADd,WAFE,yJAOA,0DAAyC,0BAAYA,WAAW,KAAvB,sBAAzC,UACA,sBACE,kBAAIA,WAAW,MAAK,0BAAYA,WAAW,MAAvB,8BAApB,8DAEF,iBAAQ,CACN,GAAM,cADR,cAGA,gHACF,0BAAYA,WAAW,KAAvB,yBADE,gBACgF,0BAAYA,WAAW,KAAvB,sBADhF,KACoJ,0BAAYA,WAAW,KAAvB,yBADpJ,6DAGA,4CAA2B,0BAAYA,WAAW,KAAvB,oBAA3B,0GAC0C,0BAAYA,WAAW,KAAvB,4BAD1C,+DAE4B,0BAAYA,WAAW,KAAvB,eAF5B,gC,mOAOJJ,EAAWK,gBAAiB","file":"component---src-pages-docs-installation-networking-settings-mdx-423207efa4a3ad30f023.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/home/runner/work/superset/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n <h2 {...{\n \"id\": \"additional-networking-settings\"\n }}>{`Additional Networking Settings`}</h2>\n <h3 {...{\n \"id\": \"cors\"\n }}>{`CORS`}</h3>\n <p>{`To configure CORS, or cross-origin resource sharing, the following dependency must be installed:`}</p>\n <pre><code parentName=\"pre\" {...{\n \"className\": \"language-python\"\n }}>{`pip install apache-superset[cors]\n`}</code></pre>\n <p>{`The following keys in `}<inlineCode parentName=\"p\">{`superset_config.py`}</inlineCode>{` can be specified to configure CORS:`}</p>\n <ul>\n <li parentName=\"ul\"><inlineCode parentName=\"li\">{`ENABLE_CORS`}</inlineCode>{`: Must be set to `}<inlineCode parentName=\"li\">{`True`}</inlineCode>{` in order to enable CORS`}</li>\n <li parentName=\"ul\"><inlineCode parentName=\"li\">{`CORS_OPTIONS`}</inlineCode>{`: options passed to Flask-CORS\n(`}<a parentName=\"li\" {...{\n \"href\": \"https://flask-cors.corydolphin.com/en/latest/api.html#extension\"\n }}>{`documentation`}</a>{`)`}</li>\n </ul>\n <h3 {...{\n \"id\": \"domain-sharding\"\n }}>{`Domain Sharding`}</h3>\n <p>{`Chrome allows up to 6 open connections per domain at a time. When there are more than 6 slices in\ndashboard, a lot of time fetch requests are queued up and wait for next available socket.\n`}<a parentName=\"p\" {...{\n \"href\": \"https://github.com/apache/superset/pull/5039\"\n }}>{`PR 5039`}</a>{` adds domain sharding to Superset,\nand this feature will be enabled by configuration only (by default Superset doesn’t allow\ncross-domain request).`}</p>\n <p>{`Add the following setting in your `}<inlineCode parentName=\"p\">{`superset_config.py`}</inlineCode>{` file:`}</p>\n <ul>\n <li parentName=\"ul\"><inlineCode parentName=\"li\">{`SUPERSET_WEBSERVER_DOMAINS`}</inlineCode>{`: list of allowed hostnames for domain shareding feature.`}</li>\n </ul>\n <h3 {...{\n \"id\": \"middleware\"\n }}>{`Middleware`}</h3>\n <p>{`Superset allows you to add your own middleware. To add your own middleware, update the\n`}<inlineCode parentName=\"p\">{`ADDITIONAL_MIDDLEWARE`}</inlineCode>{` key in your `}<inlineCode parentName=\"p\">{`superset_config.py`}</inlineCode>{`. `}<inlineCode parentName=\"p\">{`ADDITIONAL_MIDDLEWARE`}</inlineCode>{` should be a list\nof your additional middleware classes.`}</p>\n <p>{`For example, to use `}<inlineCode parentName=\"p\">{`AUTH_REMOTE_USER`}</inlineCode>{` from behind a proxy server like nginx, you have to add a\nsimple middleware class to add the value of `}<inlineCode parentName=\"p\">{`HTTP_X_PROXY_REMOTE_USER`}</inlineCode>{` (or any other custom header\nfrom the proxy) to Gunicorn’s `}<inlineCode parentName=\"p\">{`REMOTE_USER`}</inlineCode>{` environment variable:`}</p>\n\n </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""}