사이트 축소판 그림
개시하다
최근에는 안전성 소동 때문인지 https화된 사이트가 늘었다.또한 렛즈 엔서리프트의 등장으로 개인 홈페이지도 비교적 간단히 https화할 수 있게 되면서 점점 더 많아질 것으로 생각한다.
간단하긴 하지만 앱ache,nginx 등 Let's Encerypt를 설정하면 이런 작업도 힘들다.
그래서 캐디가 등장했다.
이른바 caddy
caddy는 Go 언어로 구현된 웹 서버로 그 특징은 다음과 같다.
caddy는 Go 언어로 구현된 웹 서버로 그 특징은 다음과 같다.
잠깐만요.
설치하다.
테스트 환경: Ubuntu 16.04
Go 설치
즉시 다운로드해서 사용해 보려고 하지만, 본가에서 제공된 Free의 2진법은 비상무적 이용이 금지되어 있기 때문에 원본 파일을 컴파일해서 사용해 보십시오.그리고 Go가 필요하니까 거기서부터.
1.8 이상이 필요해 창고를 추가해 설치했다.$ sudo add-apt-repository ppa:longsleep/golang-backports
$ sudo apt-get update
$ sudo apt-get install golang-go
.bashrc GOPATH를 적절하게 설정
~/.bashrcexport GOPATH=$HOME/.go
쓰면 바로 반영한다.$ . .bashrc
caddy 설치
https://github.com/mholt/caddy
여기 Build 방법이라고 쓰여 있는데 거기에 맞춰 설치할게요.
원본 가져오기 및 컴파일$ go get github.com/mholt/caddy/caddy
$ go get github.com/caddyserver/builds
$ cd $GOPATH/src/github.com/mholt/caddy/caddy
$ go run build.go
이렇게 하면 바이너리로 PATH를 통과하기에 적당한 곳으로 복사할 수 있다$ sudo cp caddy /usr/local/bin
사용자가 실행하면 미리 설정 기능$ sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy
이렇게 캐디를 치면 서버가 시작되고 도메인이 있으면 지정하면 처음 시작할 때 Let's Encerypt가 https를 설정합니다$ caddy -host example.com
Activating privacy features...
Your sites will be served over HTTPS automatically using Let's Encrypt.
By continuing, you agree to the Let's Encrypt Subscriber Agreement at:
https://acme-v01.api.letsencrypt.org/terms
Please enter your email address so you can recover your account if needed.
You can leave it blank, but you'll lose the ability to recover your account.
Email address: メールアドレス入力
done.
https://example.com
http://example.com
브라우저에서 인증서를 확인하면 이런 느낌입니다.
정말 한꺼번에 https 사이트를 완성했습니다.
그렇긴 하지만, 초기 디스플레이는 그렇고, 기본 설정은 Caddyfile 시작입니다.
여기. 많은 샘플이 있는데 예를 들면 wordpress면 이런 느낌이에요.
Caddyfileexample.com
root /path/to/wordpress/
gzip
fastcgi / 127.0.0.1:9000 php
rewrite {
if {path} not_match ^\/wp-admin
to {path} {path}/ /index.php?{query}
}
$ caddy -conf Caddyfile -host example.com
통신은 http/2이죠.
여러분도 간단하게 https 사이트를 진행할 수 있는 캐디를 사용해 보시는 게 어떨까요!
덧붙이다
QUIC의 행동을 확인하려다 크롬에서 QUIC를 연결할 수 없어 포기했다.
시작할 때 -quic을 추가하면 QUIC에 대응하는 up 80443 listen을 진행할 수 있습니다.udp6 0 0 :::443 :::*
udp6 0 0 :::80 :::*
QUIC?
참조wiki.
대략적으로 말하면 HTTP/HTTPS 통신은 TCP 연결을 사용하고QUIC는 UDP를 바탕으로 개발한 웹 기반 프로토콜이다.
TCP라면 3번 휴대폰으로 연결한 뒤 HTTP로 대화를 시작한다.
예를 들어, A에서 B로 연결하려는 경우
A:"갑자기 죄송한데 B씨와 연결하고 싶은데 이 선물을 받아도 될까요?"
B:"선물을 받았어요. 저희의 답례를 받을 수 있을까요?"
A:감사합니다. 답례를 받았습니다.
지저분하지만 이런 느낌으로 연결됐다.
HTTPS라면 TLS의 협상이 필요하고 더 많은 라운드 트리거가 발생할 것이다.대화를 시작하기까지 시간이 많이 걸렸어요.대화를 인프라 아저씨 냄새처럼 표현한 점 양해 부탁드립니다.
그리고 그 지연은 웹의 표시와 다운로드 속도에 영향을 줄 수 있다.
QUIC는 UDP에서 이 TCP+TLS를 실현하여 세 번의 악수 없이 데이터를 얻을 수 있다.
그러면 실제 사용하는 브라우저는cherome에 대응하고 서버는 구글에 대응합니다.Google이 개발하는 것은 당연한 일입니다.
cherome의 검증을 통해 Protocol을 확인할 수 있습니다
chrome://net-internals/#quic켜면 QUIC 사용 여부를 확인할 수 있습니다.
그리고 지금 QUIC를 사용할 수 있는 서버는 캐디밖에 없는 것 같아서 시도해 봤어요.
행동을 잘 확인할 수 있다면 다음 Advent Calendar에서 확인하십시오.
Reference
이 문제에 관하여(사이트 축소판 그림), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mmotoi/items/1af28e2e62a4e344eb6c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ sudo add-apt-repository ppa:longsleep/golang-backports
$ sudo apt-get update
$ sudo apt-get install golang-go
export GOPATH=$HOME/.go
$ . .bashrc
$ go get github.com/mholt/caddy/caddy
$ go get github.com/caddyserver/builds
$ cd $GOPATH/src/github.com/mholt/caddy/caddy
$ go run build.go
$ sudo cp caddy /usr/local/bin
$ sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy
$ caddy -host example.com
Activating privacy features...
Your sites will be served over HTTPS automatically using Let's Encrypt.
By continuing, you agree to the Let's Encrypt Subscriber Agreement at:
https://acme-v01.api.letsencrypt.org/terms
Please enter your email address so you can recover your account if needed.
You can leave it blank, but you'll lose the ability to recover your account.
Email address: メールアドレス入力
done.
https://example.com
http://example.com
example.com
root /path/to/wordpress/
gzip
fastcgi / 127.0.0.1:9000 php
rewrite {
if {path} not_match ^\/wp-admin
to {path} {path}/ /index.php?{query}
}
$ caddy -conf Caddyfile -host example.com
QUIC의 행동을 확인하려다 크롬에서 QUIC를 연결할 수 없어 포기했다.
시작할 때 -quic을 추가하면 QUIC에 대응하는 up 80443 listen을 진행할 수 있습니다.
udp6 0 0 :::443 :::*
udp6 0 0 :::80 :::*
QUIC?
참조wiki.
대략적으로 말하면 HTTP/HTTPS 통신은 TCP 연결을 사용하고QUIC는 UDP를 바탕으로 개발한 웹 기반 프로토콜이다.
TCP라면 3번 휴대폰으로 연결한 뒤 HTTP로 대화를 시작한다.
예를 들어, A에서 B로 연결하려는 경우
A:"갑자기 죄송한데 B씨와 연결하고 싶은데 이 선물을 받아도 될까요?"
B:"선물을 받았어요. 저희의 답례를 받을 수 있을까요?"
A:감사합니다. 답례를 받았습니다.
지저분하지만 이런 느낌으로 연결됐다.
HTTPS라면 TLS의 협상이 필요하고 더 많은 라운드 트리거가 발생할 것이다.대화를 시작하기까지 시간이 많이 걸렸어요.대화를 인프라 아저씨 냄새처럼 표현한 점 양해 부탁드립니다.
그리고 그 지연은 웹의 표시와 다운로드 속도에 영향을 줄 수 있다.
QUIC는 UDP에서 이 TCP+TLS를 실현하여 세 번의 악수 없이 데이터를 얻을 수 있다.
그러면 실제 사용하는 브라우저는cherome에 대응하고 서버는 구글에 대응합니다.Google이 개발하는 것은 당연한 일입니다.
cherome의 검증을 통해 Protocol을 확인할 수 있습니다
chrome://net-internals/#quic켜면 QUIC 사용 여부를 확인할 수 있습니다.
그리고 지금 QUIC를 사용할 수 있는 서버는 캐디밖에 없는 것 같아서 시도해 봤어요.
행동을 잘 확인할 수 있다면 다음 Advent Calendar에서 확인하십시오.
Reference
이 문제에 관하여(사이트 축소판 그림), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mmotoi/items/1af28e2e62a4e344eb6c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)