GitHub user HenryBao91 created a discussion: How to proxy with Nginx
## Superset version
```
apache-superset 5.0.0
mysqlclient 2.2.7
```
## Python version
`3.11`
## Browser
- Chrome
## Config
`superset_config.py` :
```
import os
from flask_babel import lazy_gettext as _
BABEL_DEFAULT_LOCALE = "en"
BABEL_DEFAULT_TIMEZONE = "Asia/Shanghai"
LANGUAGES = {
"en": {"flag": "us", "name": "English"},
"zh": {"flag": "cn", "name": "中文"},
}
APP_NAME = "Our数据可视化平台"
SECRET_KEY = os.getenv("SUPERSET_SECRET_KEY", "xxxxxxxxxxxxxx1EZqMQ3suZGI1UZy")
WTF_CSRF_SECRET_KEY = os.getenv("WTF_CSRF_SECRET_KEY", SECRET_KEY)
MYSQL_USER = os.getenv("MYSQL_USER", "superset")
MYSQL_PASSWORD = os.getenv("MYSQL_PASSWORD", "Superset123")
MYSQL_HOST = os.getenv("MYSQL_HOST", "mysql_scnet")
MYSQL_PORT = os.getenv("MYSQL_PORT", "3306")
MYSQL_DB = os.getenv("MYSQL_DB", "superset")
SQLALCHEMY_DATABASE_URI = (
f"mysql+mysqldb://{MYSQL_USER}:{MYSQL_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DB}?charset=utf8mb4"
)
REDIS_HOST = os.getenv("REDIS_HOST", "redis_scnet")
REDIS_PORT = os.getenv("REDIS_PORT", "6379")
REDIS_URL = f"redis://{REDIS_HOST}:{REDIS_PORT}/0"
CACHE_CONFIG = {
"CACHE_TYPE": "RedisCache",
"CACHE_DEFAULT_TIMEOUT": 300,
"CACHE_KEY_PREFIX": "superset_",
"CACHE_REDIS_URL": REDIS_URL,
}
WTF_CSRF_ENABLED = True
ENABLE_PROXY_FIX = True # 开启支持反向代理
SUPERSET_APP_ROOT = "/supertset"
SUPERSET_WEBSERVER_TIMEOUT = 300
SUPERSET_DEFAULT_TIMEZONE = "Asia/Shanghai"
os.environ["TZ"] = "Asia/Shanghai"
```
Superset Start Command:
```
superset run -h 0.0.0.0 -p 8088 --with-threads
```
By the way, I installed superset with Pypi , not docker compose, pls.
`~/.bashrc`:
```
export SUPERSET_CONFIG_PATH=/data/superset/superset_config.py
export FLASK_APP=superset
export SUPERSET_SECRET_KEY="xxxxxxxxxxxxxxxxx1EZqMQ3suZGI1UZy"
export TZ="Asia/Shanghai"
export SUPERSET_APP_ROOT="/superset"
export ENABLE_PROXY_FIX=True
```
My Nginx Config:
```
location /superset/ {
proxy_pass http://10.100.2.119:8088/ ;
# ... existing code ...
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# ... existing code ...
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
```
After configured, I open `http://my-domain.com/superset` . It turn to
`http://my-domain.com/superset/welcome` but 404 not found.
GitHub link: https://github.com/apache/superset/discussions/36079
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]