반응형
반응형
무료 인증서를 발급 받기 위해 Let's Encrypt의 SSL 인증을 받아야 할 때,보통 서버(Apache, NginX 등)를 이용하여 웹 루트를 정하고 인증을 받는 방식으로 진행한다.특히 윈도우에서 win-acme 도구를 이용하여 무료 SSL 인증서 발급 시보통 파일 방식으로 인증을 받는 식인데, 문제는 여기서 발생한다.Flask의 경우에는 서버 자체에서 특정 URL의 경로를 미리 정의해주지 않으면 안된다는 것이다.하지만 win-acme 도구는 사이트 인증 시 내가 지정한 웹 루트에랜덤으로 주어진 코드가 적혀있는 파일이 생성되는데,이런 동적인 상황에 생성되는 랜덤 주소 URL 링크를 미리 알 방법이 없다.예를 들어, 내가 지정한 웹 루트에 '.well-known/acme-challenge/랜덤값' 이..
개요 이번에 포트폴리오 겸 Flask 서버를 둔 채팅 서비스 웹 페이지를 만들었다. 개발된 웹 페이지를 도메인까지 연결했는데 이상하게 가끔씩 작동을 하지 않는다. 이유가 뭔지 알아봤더니 접속 도메인은 babychat.xyz, 그리고 www.babychat.xyz 로도 접속이 된다는 것이다. 나는 이게 당연한 것인 줄 알았는데 CORS로 문제가 발생될 줄은 몰랐다. 결국 문제는 API 통신이 babychat.xyz 도메인을 향하도록 했으니 www 가 붙으면 작동을 하지 않는다는 것이다. CORS가 뭘까? 간단히 CORS에 대해서 알아보자. CORS는 Cross-origin resource sharing으로, 한국말로는 교차 출처 리소스 공유 혹은 교차 출처 자원 공유라고도 한다. 웹 페이지 상의 자원들을 ..
개요 파이썬의 플라스크로 소켓을 이용하여 실시간 채팅 기능을 구현해 보자. 이 글은 소켓에 관련된 컴퓨터 공학 관련 내용을 설명하는 글이 아니다. 오로지 '실시간 채팅'이라는 기능만을 중점으로 두려 한다. 가능한 컴퓨터 전공 지식은 다 걷어내고, 최대한 쉽고 간단하게 실시간으로 메시지를 주고받고 하는 방법을 다루도록 한다. (솔직히 기능 구현하려고 검색했지 진부한 CS 지식 보려고 온 건 아니잖는가) 클라이언트 플랫폼은 웹 페이지를 기준으로 설명한다. (부연 설명이 오히려 길어질 것으로 판단되어 제일 구현이 간단한 웹 페이지로 진행하였다.) 서버 : Python Flask 클라이언트 : 웹 페이지 이용 (html / JavaScript) 당연한 이야기지만... 이 글은 플라스크를 기본적으로 다룰 줄 알아..
이 글은 작성된 포스팅의 기능을 정리한 글 입니다. 예시를 통해 좀 더 자세한 설명이 필요하신 분은 아래의 목록을 참고해주세요. 2022.06.17 - [Programming/Rest API (Python)] - POSTMAN 사용법 - 간단 예시를 API 서버 테스트하기 + Beautify 2022.06.17 - [Programming/Rest API (Python)] - API서버 - RestFul API의 기본 개념, 구성 2022.06.17 - [Programming/Rest API (Python)] - API Flask - route 이해하기 2022.06.17 - [Programming/Rest API (Python)] - API서버 - DB 연동하기 2022.06.19 - [Programmi..
이번 포스팅에서는 OpenApi를 이용하여 응답된 정보가 xml일 경우, json으로 변경하는 기능을 설명합니다. OpenApi와의 통신 방법은 아래의 포스팅에서 확인이 가능합니다. https://luvris2.tistory.com/302 RestApi - 파이썬으로 OpenApi 데이터 통신 하는 방법 이 포스팅은 파이썬 언어를 기준으로 작성되었습니다. 해당 소스 코드는 RestApi의 기본 app이 구동되어있다는 전제하에서 진행하였습니다. RestApi의 기본 구성 및 자세한 설명을 원하면 아래의 포 luvris2.tistory.com conda 혹은 cmd에서 필요한 모듈 설치 pip install xmltodict, json xml -> json 데이터 타입 변경 xml의 데이터를 json의 형태..
이 포스팅은 파이썬 언어를 기준으로 작성되었습니다. 해당 소스 코드는 RestApi의 기본 app이 구동되어있다는 전제하에서 진행하였습니다. RestApi의 기본 구성 및 자세한 설명을 원하면 아래의 포스팅을 확인해주세요. RestApi 설치 및 기본 구성 : https://luvris2.tistory.com/180?category=1064805 API서버 - Hello World 출력하기 (Flask) API 서버에 Hello World 출력하기 필요 라이브러리 설치 pip install flask flask-restful 소스 코드 (app.py) @app.route('/', methods=['GET'] route('/') : 해당 경로로 이동하여 methods의 기능을 수행 route.. luvri..