> 백엔드 개발 > 파이썬 튜토리얼 > VUMTR에 플라스크 애플리케이션을 배포하는 방법

VUMTR에 플라스크 애플리케이션을 배포하는 방법

Christopher Nolan
풀어 주다: 2025-02-08 08:31:09
원래의
805명이 탐색했습니다.

How to Deploy Flask Applications on Vultr Gunicorn, Nginx를 사용하여 보안 플라스크 애플리케이션을 배포하고 암호화하자

플라스크는 웹 애플리케이션을 구축하기위한 파이썬 프레임 워크입니다. 플라스크를 사용하면 개발자는 라우팅을 쉽게 정의하고 HTTP 요청 및 응답을 처리하며 Jinja2 템플릿을 사용하여 동적 컨텐츠를 렌더링 할 수 있습니다. 또한 개발자가 데이터베이스 액세스, 양식 처리 및 사용자 인증과 같은 기능을 통합 할 수있는 확장 기능을 지원합니다.

이 기사는 Gunicorn을 사용하여 Flask 애플리케이션을 배치하고 CSRF 보호 및 컨텐츠 보안 정책 (CSP)을 구현하는 방법을 설명합니다. 또한 NGINX를 사용하여 리버스 프록시를 설정하고 HTTPS를 구현하기 위해 Let 's Encrypt를 통해 무료 SSL 인증서를 신청할 것입니다. vultr- 최적화 된 클라우드 인스턴스에 배포

등록 및 VUMTR 고객 포털에 로그인하십시오.

제품 페이지로 이동하십시오.

측면 메뉴에서 "계산"을 선택하십시오.

중앙에서 "서버 배포"버튼을 클릭하십시오. 서버 유형으로 "최적화 클라우드 컴퓨팅"을 선택하십시오. 서버 위치를 선택하십시오.

운영 체제로 우분투 24.04를 선택하십시오.
    올바른 패키지를 선택하십시오.
  1. 필요한 경우 추가 기능을 선택하십시오.
  2. "지금 의존적"을 클릭하십시오.
  3. 데모 애플리케이션 코드 파일을 추가하십시오
  4. 파이썬 가상 환경을 설정하십시오
  5. Python3-venv 패키지 설치 :
  6. 가상 환경을 만듭니다 :
  7. 가상 환경을 활성화합니다 :
  8. 데모 애플리케이션 코드 파일을 추가하십시오
  9. 클론 github 리포지토리 :
  10. 프로젝트 디렉토리로 이동하십시오 :
  11. 플라스크 및 건니콘 패키지 설치 : 포트 5000에 들어오는 연결을 허용합니다
  12. CSRF 보호 및 컨텐츠 보안 정책을 적용하십시오 크로스 사이트 요청 위조 (CSRF)는 공격자가 신뢰할 수있는 웹 사이트에서 로그인 세션을 사용하여 사용자가 신뢰하는 다른 웹 사이트에 무단 요청을 할 수있는 취약점입니다. WTForms는 CSRF 공격을 방지하기 위해 CSRF 보호를 기본적으로 통합하는 플라스크 확장입니다.
  13. CSP (Content Security Policy)는 악의적 인 공격으로부터이를 보호하는 웹 애플리케이션에 대한 추가 보안 계층입니다. CSP는 브라우저가 특정 웹 페이지에서로드 할 수있는 리소스를 나타냅니다. 일반적으로 웹 사이트 관리자는 웹 페이지의 서버 응답에 특수 헤더를 추가하여 CSP를 구성한 다음 브라우저는 CSP 헤더를 수신하고로드 할 수있는 리소스를 이해합니다. 부적은 플라스크 애플리케이션에 CSP를 추가하는 프로세스를 단순화하는 플라스크 확장입니다.
    1. 플라스크 -wtf 및 부적 패키지 설치 :
    2. app.py 파일을 엽니 다 <.> 컨텐츠 보안 정책을 포함하도록 app.py 파일 편집 : pip install flask-wtf talisman
    3. App.py 파일의 <..> CSRF 보호를 가져오고 구성합니다. nano app.py
    4. 파일을 저장하고 닫습니다.
    5. 템플릿 디렉토리로 이동합니다 index.html 파일을 엽니 다 CSRF 구성을 포함하도록 HTML 페이지를 편집합니다
    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',
    )
    로그인 후 복사
    파일을 저장하고 닫습니다. 8. 템플릿 디렉토리를 종료하십시오 : <🎜 🎜>
      <🎜 🎜> <<> nginx를 리버스 프록시
    1. <🎜 🎜>로 구성하십시오 nginx는 웹 서버와 클라이언트 간의 역 프록시 역할을합니다. 요청 구성 설정에 따라 들어오는 요청을 부팅합니다. 이 섹션에서는 효율적인 요청 처리 및로드 밸런싱을위한 리버스 프록시 응용 프로그램을 구성합니다. 또한 HTTP를 구현하기 위해 Let 's 암호화에서 무료 SSL 인증서를 신청하여 사용자와 웹 서버 간의 통신을 보호합니다.
    Vultr 고객 포털에 로그인하십시오.
    from flask_wtf.csrf import CSRFProtect
    
    app.config['SECRET_KEY'] = 'your_secret_key_here'
    csrf = CSRFProtect(app)
    csrf._csrf_request_token_key = 'X-CSRFToken'
    로그인 후 복사
    제품 페이지로 이동하십시오.

    측면 메뉴에서 네트워크 드롭 다운 메뉴를 확장하고 DNS를 선택하십시오.

    중앙에서 "도메인 이름 추가"버튼을 클릭하십시오.
      설정 단계에 따라 도메인 이름을 추가하고 서버의 IP 주소를 선택하십시오.
    1. 도메인 레지스트라를 사용하여 다음 호스트 이름을 도메인 이름의 기본 및 보조 이름 서버로 설정하십시오. cd templates nginx 설치 : <🎜 🎜>
    2. 새 nginx 구성 파일을 만듭니다 : <🎜 🎜>
    3. 다음 구성을 파일에 붙여 넣으십시오 nano index.html
    4. 가상 호스트 구성을 활성화합니다 nginx 구성을 테스트하십시오 : <🎜 🎜>
    5. Reload nginx :
    <🎜 🎜> 포트 80 및 443에 들어오는 연결을 허용합니다 Certbot 패키지 설치 : <🎜 🎜> <🎜 🎜> SSL 인증서 신청 :
    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);
            }
        }
    });
    로그인 후 복사
    (도메인 이름으로 example.com을 바꾸십시오) Gunicorn 서버를 시작하십시오 :

    이제 를 통해 플라스크 앱에 액세스 할 수 있습니다. cd ..

    vultr

    에서 Python 앱을 사용하여 더 많은 작업을 수행하십시오

    컨테이너 화 파이썬 웹 애플리케이션

    우분투에 Python 및 Pip을 설치하십시오 Python에서 Vultr 클라우드 추론 사용 중요한 AI/ml Python 패키지에 대한 심층적 인 논의 Python 및 Milvus Vector 데이터베이스를 사용한 AI 구동 검색 Python을 사용하여 자연어 처리 작업을 실행하십시오
      결론
    1. 이 기사에서는 NGINX 역 프록시 및 Gunicorn을 사용하여 플라스크 애플리케이션을 배포하고 CSRF 보호 및 CSP를 구현하는 방법을 살펴 봅니다. 또한 SSL 인증서를 추가하고 HTTPS 액세스를 가능하게하여 응용 프로그램의 보안을 보호합니다.

      이 기사는 Vultr가 후원합니다. Vultr은 세계 최대의 프라이빗 클라우드 컴퓨팅 플랫폼입니다. Vultr은 개발자들의 사랑을 받고 있으며 185 개국의 150 만 명 이상의 고객에게 유연하고 확장 가능한 글로벌 클라우드 컴퓨팅, 클라우드 GPU, 베어 메탈 및 클라우드 스토리지 솔루션을 제공했습니다. vultr

      에 대해 자세히 알아보십시오

위 내용은 VUMTR에 플라스크 애플리케이션을 배포하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿