기본 콘텐츠로 건너뛰기

라벨이 server인 게시물 표시

세상 간단한 https(+secured websocket): Caddy

nginx, apache2 같은 걸로 매번 certbot 연동을 통해 https 하는게 지겨워서 알아보니 Caddy라는게 있더라. 설치법은 강하게 크기 위해 알아서 해본다. # cat /etc/caddy/Caddyfile your.shitty.site:8123 {   proxy / localhost:9123 {     websocket     transparent   } } 이건 외부에서 8123으로 들어오는 걸 내부적으로 9123로 맞춰서 https 맞춰주는 reverse proxy. 만일 port를 생략하면 # cat /etc/caddy/Caddyfile your.shitty.site {   proxy / localhost:9123 {     websocket     transparent   } } 기본포트인 443으로 되어 https://your.shitty.site 로 접속이 된다. 요새 말썽이던 cloudflare 버리고 netlify domain이랑 caddy를 쓰니까 앓던 이가 빠진 느낌. 이 조합은 당분간 계속 써야겠다 싶다.

go로 android notification server를 만들었다.

내가 처한 갑갑한 상황은 이런 것이었다. 1. Android 용 notification server + client 를 구현해야한다. 2. 서비스 서버는 내가 손을 댈수 없지만 windows+asp 기반으로 되어있다. 3. 내 컴퓨터는 OS X다 (....) 4. 소스가 노출되는 형태의 결과물은 안된다(script류 X) 5. 서버 구동을 위해 별도의 프로그램을 설치할 수 없다 (java 안됨) 6. exe 파일을 만들어야한다. 그것도 OS X에서 7. C/C++로? 8. 테스트 용으로 디플로이도 해야할 것 같다. 그래서 떠올린 것이 go. 유지보수도 겸해서 천치도 읽을 수 있게 짜고 싶었다. go-gcm package를 일단 써서 후지고 빠르게 만들자. https://gist.github.com/acidsound/5121536#file-tinygcmserver-go // +build !appengine package main   /* * Usage: ./TinyGCMServer.go <API_KEY> <Server URL(:port)> * Test: curl -d "<NOTIFICATION MESSAGE>" http://serverURL/sendMessage?target=<REGISTRATION_ID> */ import ( "fmt" "github.com/googollee/go-gcm" "io/ioutil" "net/http" "os" )   var API_KEY string   func main () { serverURL := "localhost:8000" if len ( os . Args ) > 1 { API_KE...