blob: bf0be225fe54e47b86a59f1a79cac7701d6aa2ba [file] [log] [blame]
{"version":3,"sources":["webpack:///./src/pages/docs/installation/networking_settings.mdx"],"names":["_frontmatter","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,qOAE5B,IAKMC,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeI,EAAf,CAAsBD,WAAYA,EAAYE,QAAQ,cAC3D,iBAAQ,CACN,GAAM,kCADR,kCAGA,iBAAQ,CACN,GAAM,QADR,QAGA,yHACA,uBAAK,mBAAU,CACX,UAAa,kBACb,WAAc,OAFb,wCAKL,8CACE,yBAAgB,CACd,WAAc,KADhB,sBADF,wCAKA,sBAEE,iBAAQ,CACN,WAAc,MACb,yBAAgB,CACf,WAAc,MADf,eAFH,oBAME,yBAAgB,CACd,WAAc,MADhB,QANF,4BAYA,iBAAQ,CACN,WAAc,MACb,yBAAgB,CACf,WAAc,MADf,gBAFH,oCAOE,gBAAO,CACL,KAAQ,kEACR,WAAc,MAFhB,iBAPF,MAcF,iBAAQ,CACN,GAAM,mBADR,mBAGA,sNAGE,gBAAO,CACL,KAAQ,yDACR,WAAc,KAFhB,WAHF,yJAUA,0DACE,yBAAgB,CACd,WAAc,KADhB,sBADF,UAKA,sBAEE,iBAAQ,CACN,WAAc,MACb,yBAAgB,CACf,WAAc,MADf,8BAFH,8DAQF,iBAAQ,CACN,GAAM,cADR,cAGA,gHAEE,yBAAgB,CACd,WAAc,KADhB,yBAFF,gBAME,yBAAgB,CACd,WAAc,KADhB,sBANF,KAUE,yBAAgB,CACd,WAAc,KADhB,yBAVF,6DAeA,4CACE,yBAAgB,CACd,WAAc,KADhB,oBADF,0GAME,yBAAgB,CACd,WAAc,KADhB,4BANF,+DAWE,yBAAgB,CACd,WAAc,KADhB,eAXF,gC,mOAmBJH,EAAWI,gBAAiB","file":"component---src-pages-docs-installation-networking-settings-mdx-95ef7cb1bc1c87de15e2.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/evan/GitHub/incubator-superset_preset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n return <div {...props} />;\n};\n\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return <MDXLayout {...props} components={components} mdxType=\"MDXLayout\">\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 research sharing, the following dependency must be installed:`}</p>\n <pre><code {...{\n \"className\": \"language-python\",\n \"parentName\": \"pre\"\n }}>{`pip install apache-superset[cors]\n`}</code></pre>\n <p>{`The following keys in `}\n <inlineCode {...{\n \"parentName\": \"p\"\n }}>{`superset_config.py`}</inlineCode>\n {` can be specified to configure CORS:`}</p>\n <ul>\n\n <li {...{\n \"parentName\": \"ul\"\n }}><inlineCode {...{\n \"parentName\": \"li\"\n }}>{`ENABLE_CORS`}</inlineCode>\n {`: Must be set to `}\n <inlineCode {...{\n \"parentName\": \"li\"\n }}>{`True`}</inlineCode>\n {` in order to enable CORS`}</li>\n\n\n <li {...{\n \"parentName\": \"ul\"\n }}><inlineCode {...{\n \"parentName\": \"li\"\n }}>{`CORS_OPTIONS`}</inlineCode>\n {`: options passed to Flask-CORS\n(`}\n <a {...{\n \"href\": \"https://flask-cors.corydolphin.com/en/latest/api.html#extension\",\n \"parentName\": \"li\"\n }}>{`documentation`}</a>\n {`)`}</li>\n\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`}\n <a {...{\n \"href\": \"https://github.com/apache/incubator-superset/pull/5039\",\n \"parentName\": \"p\"\n }}>{`PR 5039`}</a>\n {` 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 `}\n <inlineCode {...{\n \"parentName\": \"p\"\n }}>{`superset_config.py`}</inlineCode>\n {` file:`}</p>\n <ul>\n\n <li {...{\n \"parentName\": \"ul\"\n }}><inlineCode {...{\n \"parentName\": \"li\"\n }}>{`SUPERSET_WEBSERVER_DOMAINS`}</inlineCode>\n {`: list of allowed hostnames for domain shareding feature.`}</li>\n\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`}\n <inlineCode {...{\n \"parentName\": \"p\"\n }}>{`ADDITIONAL_MIDDLEWARE`}</inlineCode>\n {` key in your `}\n <inlineCode {...{\n \"parentName\": \"p\"\n }}>{`superset_config.py`}</inlineCode>\n {`. `}\n <inlineCode {...{\n \"parentName\": \"p\"\n }}>{`ADDITIONAL_MIDDLEWARE`}</inlineCode>\n {` should be a list\nof your additional middleware classes.`}</p>\n <p>{`For example, to use `}\n <inlineCode {...{\n \"parentName\": \"p\"\n }}>{`AUTH_REMOTE_USER`}</inlineCode>\n {` from behind a proxy server like nginx, you have to add a\nsimple middleware class to add the value of `}\n <inlineCode {...{\n \"parentName\": \"p\"\n }}>{`HTTP_X_PROXY_REMOTE_USER`}</inlineCode>\n {` (or any other custom header\nfrom the proxy) to Gunicorn’s `}\n <inlineCode {...{\n \"parentName\": \"p\"\n }}>{`REMOTE_USER`}</inlineCode>\n {` environment variable:`}</p>\n\n </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""}