https://caddyserver.com/

 

렛츠인크립트 자동에 오픈 소스이고 Strict SNI가 기본이네요.

Nginx에 이거 넣으려면 컴파일 해야돼서 귀찮았는데 얘는 관리할 게 확 주니까 한 번 알아봐야겠어요

  • Lv37

    nginx도 설정파일 수정과 certbot 연동으로 얼마든지 구현할 수 있으니 굳이 뭘 컴파일할 필요가 없지요.

    게다가 rewrite 등의 고급 설정이 들어가기 시작하면 caddy가 오히려 더 복잡한 것 같아요.

  • Lv37 ?
    혹시 Strict SNI도 컴파일없이 구현할 수 있나요?
  • ? Lv37

    엊그제 Strict SNI 관련 글에서 제시된 방안인 것 같은데요... 실제 사이트와 무관한 server { } 블럭을 추가한 후 443 포트에 대하여 default로 지정하고, 유효하지 않은 인증서를 임의로 만들어서 붙여 놓으면 SNI 미지원 브라우저나 허가되지 않은 도메인, IP 직접 입력 등을 통한 접속을 방지하는 효과가 있습니다. 인증서 경고를 무시하고 억지로 접속하더라도 해당 server { } 블럭 내에서 return 444; 해버리면 연결이 끊기고요.

  • Lv37 ?
    Nginx에서 그렇게 하려면 Workaround를 써야 하나 보네요. 괜찮은 방법인 것 같네요 한 번 써봐야겠습니다
  • ? Lv37

    workaround가 아니라 원래 이런 식으로 작동해야 하는 기능입니다. Caddy도 내부적으로는 비슷하게 처리될 텐데 문법상의 shortcut을 제공하는 것 뿐이고요.

  • Lv37 ?
    Caddy에서는 조금 다르게 작동하더라구요. ClientHello 패킷에 SNI가 없으면 아예 연결을 끊어버리는 것 같습니다.
  • ? Lv37
    좀더 과격하군요. ㅎㅎ
  • ? Lv10
    자바일줄 알았는데 GO로 만든 서버군요... GO로 만든 프로젝트를 실제로 보는건 첨이네요
  • Lv2
    설정이 간편하고 안전한 점은 분명히 있습니다.
    다만 실제적인 이용 케이스나 howto 튜토리얼 등의 부족이 진입장벽으로 작용하는 것은 확실합니다.

    실제로 맨땅에 헤딩하며 여러모로 시험해 보았는데 장단점이 혼재하더군요.