btsync 서버를 띄우면 기본적으로 0.0.0.0:8888에 Web UI가 바인딩 되는데 아무리 http basic auth를 지원한다지만 어차피 평문으로 전송되기에 별 의미는 없다. 그래서 nginx에 있는 reverse proxy 기능을 이용해서 /btsync/에 물려보기로 했다. 이러면 https로 통신하니 조금 안전해지기 때문이다.
설정은 대충 아래와 같다.
location /btsync/ {
proxy_pass http://localhost:8888/;
proxy_redirect / /btsync/;
}
처음에 proxy_redirect를 써주지 않았는데 이러면 btsync에서 처음에 302 redirect를 주는데 이걸 nginx에서 그대로 전달하기 때문에 /btsync/gui/
로 가야 할 것을 /gui/
로 가게 된다. 그래서 저렇게 써야 하는데 왜 nginx는 저렇게 설계했나 모르겠다. 저 정도는 써주지 않아도 알아서 잘 동작해야 하는 것 아닌가.
nginx로 넘어오고나서 저렇게 중복해서 적어줘야 하는 게 많은 것 같아 아쉽다.