2013-02-03 1 views
3

저는 몇 년 동안 이미 실행중인 순수한 CherryPy 서버를 보유하고 있습니다. SSL 지원을 추가하기로 결정했습니다. 이 경우 인증서와 키 파일을 제공하고 cherrypy.server.ssl_certificatecherrypy.server.ssl_private_key 변수에 올바른 값을 할당하는 것으로 충분합니다.HTTPS 대신 HTTP를 사용하는 경우의 경고

누군가가 "https : // ..."대신 "http : // ..."를 사용하여 페이지에 액세스하려고 할 때마다이 변경 사항에 대해 경고하고 싶습니다. 시스템을 변경하지 않고도이 작업을 수행 할 수있는 간단한 방법이 있습니까? 또 다른 옵션은 HTTP 액세스를 HTTPS로 리디렉션하는 것입니다. 쉽게 완료 할 수 있습니까?

답변

3

나는 당신이 원하는 것을 달성하기 위해 커스텀 핸들러를 만들 것이다. 이렇게하면 자동으로 HTTPS로 리디렉션됩니다.

class Functions(): 
    def check_ssl(self=None): 
     # check if url is in https and redirect if http 
     if cherrypy.request.scheme == "http": 
      cherrypy.HTTPRedirect(Referer.replace("http:", "https:")) 

    cherrypy.tools.Functions = cherrypy.Tool('before_handler', check_ssl) 
+0

HTTPS가 'on'유형 일 경우 실제로 없습니까? 당신은 무엇이든을 위해 referer를 신뢰할 수 없다 ... 이것은 다소 위험한 것처럼 보인다. – cHao

+0

실제로 그런 것이 있습니다. 덜 평범한 대안을 위해'cherrypy.request.scheme'을 확인하십시오. – cHao

+0

제안 해 주셔서 감사합니다. 나는 계획에 대해 몰랐다. –

관련 문제