개발로 자기계발
728x90
--------------------------------------------------------------------------------
                                    WARNING
--------------------------------------------------------------------------------
A Default SECRET_KEY was detected, please use superset_config.py to override it.
Use a strong complex alphanumeric string and use a tool to help you generate 
a sufficiently random sequence, ex: openssl rand -base64 42
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Refusing to start due to insecure SECRET_KEY

 

에러 해결

1) 밑에 명령문으로 데이터베이스 초기화를 할 때 위와 같은 문제가 나온다면? 

superset db upgrade

 

2) 본인 프로젝트에 생성해도 되고 본인의 특정 폴더에 "superset_config.py"를 생성한다.

 

3) superset_config.py에 내용을 입력한다.

FEATURE_FLAGS = {
    'CLIENT_CACHE': True,
    'ENABLE_EXPLORE_JSON_CSRF_PROTECTION': True,
    'PRESTO_EXPAND_DATA': True,
}


SECRET_KEY = ''

- 'CLIENT_CACHE': 이 옵션은 클라이언트 캐시를 사용할지 여부를 결정한다. 캐시를 사용하면 서버에 반복적인 요청을 보내는 것보다 더 빠르게 데이터를 검색할 수 있지만, 데이터가 자주 변경되는 경우 최신의 정보를 받아보기 힘들 수 있다.
- 'ENABLE_EXPLORE_JSON_CSRF_PROTECTION': CSRF(Cross-Site Request Forgery)는 웹사이트 취약점 공격 중 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 준비한 행동을 실행하게 만드는 공격이다. 이 옵션은 explore JSON에 대한 CSRF 보호를 활성화할지 결정한다.
- 'PRESTO_EXPAND_DATA': 이 옵션은 Presto, 분산 SQL 쿼리 엔진의 데이터 확장 기능을 활성화하는지 여부를 결정한다. 데이터 확장은 대용량 데이터셋을 처리하는데 유용하며, 각 쿼리를 보다 효율적으로 실행할 수 있게 한다. 더 큰 데이터 세트를 쿼리 할 수 있게 된다.

 

4) shell에 superset_config.py 경로를 지정해 준다.

export SUPERSET_CONFIG_PATH='config/superset_config.py'

SECRET_KEY 생성 방법
1) 터미널에 openssl rand -base64 42를 쳐서 무작위 랜덤 key를 생성한다.
2) superset shell로 superset shell에 접속 후
from flask import current_app; print(current_app.config["SECRET_KEY"])로 무작위 랜덤 key 생성한다.

 

5) 데이터 초기화를 하게 되면 정상적으로 되는 것을 확인할 수 있다.

728x90
SMALL
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)