플라스크 -wtf 및 부적 패키지 설치 : -
app.py 파일을 엽니 다
<.> 컨텐츠 보안 정책을 포함하도록 app.py 파일 편집 :
pip install flask-wtf talisman
-
App.py 파일의 <..> CSRF 보호를 가져오고 구성합니다.
nano app.py
파일을 저장하고 닫습니다. -
템플릿 디렉토리로 이동합니다
index.html 파일을 엽니 다
CSRF 구성을 포함하도록 HTML 페이지를 편집합니다
<code class="language-python">from talisman import Talisman
talisman = Talisman(
app,
content_security_policy={
'default-src': ['\'self\''],
'script-src': ['\'self\'', '\'unsafe-inline\'', 'https://code.jquery.com'],
'style-src': ['\'self\'', '\'unsafe-inline\'', 'https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css', 'https://todoapp5.ddns.net/static/styles.css', 'https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css'],
},
force_https=True,
session_cookie_secure=True,
frame_options='DENY',
)</code>
파일을 저장하고 닫습니다.
8. 템플릿 디렉토리를 종료하십시오 :
nginx를 리버스 프록시 - 로 구성하십시오
nginx는 웹 서버와 클라이언트 간의 역 프록시 역할을합니다. 요청 구성 설정에 따라 들어오는 요청을 부팅합니다. 이 섹션에서는 효율적인 요청 처리 및로드 밸런싱을위한 리버스 프록시 응용 프로그램을 구성합니다. 또한 HTTP를 구현하기 위해 Let 's 암호화에서 무료 SSL 인증서를 신청하여 사용자와 웹 서버 간의 통신을 보호합니다.
Vultr 고객 포털에 로그인하십시오. <code class="language-python">from flask_wtf.csrf import CSRFProtect
app.config['SECRET_KEY'] = 'your_secret_key_here'
csrf = CSRFProtect(app)
csrf._csrf_request_token_key = 'X-CSRFToken'</code>
제품 페이지로 이동하십시오.
측면 메뉴에서 네트워크 드롭 다운 메뉴를 확장하고 DNS를 선택하십시오.
중앙에서 "도메인 이름 추가"버튼을 클릭하십시오.
설정 단계에 따라 도메인 이름을 추가하고 서버의 IP 주소를 선택하십시오. -
도메인 레지스트라를 사용하여 다음 호스트 이름을 도메인 이름의 기본 및 보조 이름 서버로 설정하십시오.
cd templates
nginx 설치 :
새 nginx 구성 파일을 만듭니다 : -
다음 구성을 파일에 붙여 넣으십시오
nano index.html
-
가상 호스트 구성을 활성화합니다
nginx 구성을 테스트하십시오 :
Reload nginx :
포트 80 및 443에 들어오는 연결을 허용합니다
Certbot 패키지 설치 :
SSL 인증서 신청 : <code class="language-javascript">var csrfToken = $('input[name="csrf_token"]').val();
$.ajaxSetup({
beforeSend: function(xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrfToken);
}
}
});</code>
(도메인 이름으로 example.com을 바꾸십시오)
Gunicorn 서버를 시작하십시오 :
이제 를 통해 플라스크 앱에 액세스 할 수 있습니다. cd ..
vultr 에서 Python 앱을 사용하여 더 많은 작업을 수행하십시오
컨테이너 화 파이썬 웹 애플리케이션
우분투에 Python 및 Pip을 설치하십시오
Python에서 Vultr 클라우드 추론 사용
중요한 AI/ml Python 패키지에 대한 심층적 인 논의
Python 및 Milvus Vector 데이터베이스를 사용한 AI 구동 검색
Python을 사용하여 자연어 처리 작업을 실행하십시오
결론 -
이 기사에서는 NGINX 역 프록시 및 Gunicorn을 사용하여 플라스크 애플리케이션을 배포하고 CSRF 보호 및 CSP를 구현하는 방법을 살펴 봅니다. 또한 SSL 인증서를 추가하고 HTTPS 액세스를 가능하게하여 응용 프로그램의 보안을 보호합니다.
이 기사는 Vultr가 후원합니다. Vultr은 세계 최대의 프라이빗 클라우드 컴퓨팅 플랫폼입니다. Vultr은 개발자들의 사랑을 받고 있으며 185 개국의 150 만 명 이상의 고객에게 유연하고 확장 가능한 글로벌 클라우드 컴퓨팅, 클라우드 GPU, 베어 메탈 및 클라우드 스토리지 솔루션을 제공했습니다. vultr 에 대해 자세히 알아보십시오
|