박주니 개발 정리

local 환경에서 flask SHA-1 cipher suites were detected 보안하는 방법 본문

회고

local 환경에서 flask SHA-1 cipher suites were detected 보안하는 방법

박주니 2024. 9. 23. 19:29
728x90
반응형

설명전)

먼저 nginx 설정이 되어있지 않으시면 하단 링크 참고해서 진행해주시길 바랍니다.

https://junhee6773.tistory.com/entry/wsl-%ED%99%9C%EC%9A%A9%ED%95%B4%EC%84%9C-nginx-%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

 

wsl 활용해서 nginx 설정하는 방법

설명전)vm 설정해서 nginx를 셋팅해서 진행을 했는데 vm을 사용하지 않고 wsl로 진행하니 간단하게 nginx를 실행할 수있었습니다. 현재 이 방법 window 환경일 때 추천하는 방법입니다.   1. cmd 관리

junhee6773.tistory.com

◆이어서 진행 

1. openssl을 설치합니다.

sudo apt install openssl

2. Self-Signed 인증서 및 키 생성합니다. 

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

추가 설명

  • 여러 설정을 묻는 프롬프트가 나타납니다. Country Name, State or Province Name, Organization Name 등을 입력합니다. 이 정보는 인증서에 포함됩니다.
Country Name (2 letter code) [AU]: KR
State or Province Name (full name) [Some-State]: Gyeonggi-do
Locality Name (eg, city) []: Seongnam-si
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Test
Organizational Unit Name (eg, section) []: IT Department
Common Name (e.g. server FQDN or YOUR name) []: localhost
Email Address []: admin@example.com

Common Name은 실제 적용할 도메인 host를 적어야하는데 지금은 localhost로 테스트할 것이니 localhost로 작성을 했습니다. 

 

3. nginx 파일에 접속해서 하단에 있는 코드을 넣고 저장합니다. 

server {
    listen 80;
    server_name localhost;

    # HTTP 요청을 HTTPS로 리디렉션
    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name localhost;

    # Self-Signed SSL 인증서 경로 설정
    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

    # SSL 설정
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!SHA1";

    # Node.js 애플리케이션 (예: /node)
    location /node {
        proxy_pass http://127.0.0.1:3002;
        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;
    }

}

추가 설명)

  • location_pass : 현재 로컬에서 해당 서버 실행했을때 host를 넣으시면 됩니다. 

4. nginx 설정 파일을 검증 및 재시작합니다. 

sudo nginx -t
sudo service nginx restart

 

5. 현재 애플리케이션을 실행하고 웹서에서 localhost를 입력하셔서 정상적으로 되는지 확인합니다. 

728x90
반응형
Comments