https://xetown.com/1537931
기진곰님 답변처럼 나만의 클라우드 플레어를 구축해보려고
앞단에 배치할 서버를 하나 더 구매해서 reverse proxy를 통해 기존 서버로 proxy_pass 를 통해 연결시켰습니다
기존 서버에 연결되어있던 도메인을 신규서버로 연결시켰구요. 물론 클라우드플레어의 구름 아이콘은 다 비활성화 시켜 DNS 역할만 하도록 했습니다.
그런데 여기서 인증서 문제가 발생하더라구요
1. 신규 서버에 동일한 도메인으로 인증서를 또 발급받고
proxy_pass https://기존서버ip:443 구문을 통해 연결시켰더니 작동은 하지만 파일이 꼬이는 등 오류가 발생합니다. 또한 인증서 중복 발급 때문에 아무래도 기존 서버의 443 연결은 언젠가 갱신이 안되는것도 걱정입니다.
2. 기존 서버의 ssl연결을 아얘 포기하고, 80포트로만 운영하게 변경 후
앞단의 서버에서 ssl을 설정하여
proxy_pass http://기존서버ip
로 연결시켰더니 too many reditection 오류발생합니하며 연결이 안됩니다.
두개 다 깔끔한 방법은 아닌듯한데, 클라우드플레어는 기존 서버 ip만 연결시켜주면
기존 서버의 ssl 인증서 및 보안연결은 훼손하지 않으면서도 자연스럽게 연결이 되는것처럼 구현하고 싶습니다.
어떻게 하면 좋을지 조언 부탁드립니다 ㅠㅠ
서버를 그냥 주먹구구식으로 공부하다 보니 어려운 점이 많메요
1번이 정석입니다. 파일이 꼬인다고 하셨는데 구체적으로 어떤 증상인지 모르겠으나 SSL과는 별개의 문제로 보입니다.
프록시 설정을 잘 하면 원본서버의 무료인증서도 갱신이 가능합니다만, proxy_ssl_verify off; 로 설정하거나 내부적으로만 신뢰하는 사설 인증서를 사용한다면 원본서버에 굳이 유효한 인증서를 유지할 필요는 없습니다. 결국 사용자가 보게 되는 것은 리버스 프록시의 인증서이지, 원본서버의 인증서가 아니니까요. 성능 유지를 위해서는 proxy_ssl_session_reuse on; 도 필수입니다. 여기까지 하면 클플의 Full SSL 방식과 거의 똑같이 됩니다.
2번은 클플의 악명높은 Flexible SSL 방식과 동일한 것으로, 원본서버에서는 현재 https로 접속되어 있다는 사실을 인식하지 못하기 때문에 계속 https로 리다이렉트하려고 하는 문제가 있습니다.