Data+

#7. Django에 SSL 달아주기

by Qerogram
서론

오늘 한번 서버자체를 갈아 엎었다. apache2랑 연동도 하고, ssl도 달아봤다.

역시나 환경은 라즈베리파이3


진행과정


1. 우선은 letsencrypt를 설치한다.

1
sudo git clone https://github.com/letsencrypt/letsencrypt
cs


2. 설치된 경로 안으로 들어가서, 아래의 명령어를 수행해준다 

(아래는 단지 예시다. --email엔 이메일을, -d옵션으론 도메인을 기입)

1
sudo ./letsencrypt-auto --manual --email aa@tt.xyz -d www.naver.com
cs

뭐라뭐라 뜨는데, 캡쳐를 안떠놔서 설명이 좀 어렵다.

중간에 아주 긴 영문장이 한 줄 있을 것이다. 그 내용을 웹서버의 .well-known/acme-challenge/ 경로 속에 파일로 넣어야한다. 자세한건 찾아보길 바람. 

쨋든 Django 기준으로 설명하자면 templates폴더에 ssl이라는 명칭으로 만들고 긴 영문장을 삽입후 url로 따준다.

(아래 주소는 가칭.)

1
2
3
4
5
from django.conf.urls import url, include
from django.views.generic import TemplateView
urlpatterns = [
        url(r'^.well-known/acme-challenge/SS-2YVVXD-dv29MvEy5OxbxpAvSZTB_99leZobHhN1k$', TemplateView.as_view(template_name="ssl", content_type="text/plain")),
]
cs

3. 그리고 이전 게시글에 작성했던 Test.conf에 <VirtualHost *:443>을 작성한다.

내용은 80때랑 비슷하며 www.naver.com 대신 자신이 등록한 url을 넣는다.

1
2
3
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.naver.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.naver.com/privkey.pem
cs

그렇게 서비스 재 구동 후 https://를 주고 접근하게되면 적용이 가능하고.

80 접근시 아래의 구문을 넣으면 리다이렉트로 HTTPS로 넘기기가 가능하다.

1
Redirect permanent / https://www.qerogram.kro.kr
cs
# REF

http://forybm.tistory.com/6

'코딩 > Python' 카테고리의 다른 글

#10. PyInstaller  (0) 2018.06.28
#9. Tray 프로그램  (0) 2018.06.26
#6. Django와 Apache2 연동하기 in 라즈베리파이3  (0) 2018.02.13
#5. 파일전용 hash 뷰어를 만들어보자  (0) 2018.02.13
Django에서 robots.txt 처리하기  (0) 2018.01.19

블로그의 정보

Data+

Qerogram

활동하기