• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

cloudflare(d)를 이용한 역방향 프록시

syaro 1457

5

2

커뮤니티 첫글이네요
시놀로지 내장 역방향 프록시 -> NPM -> traefik 순으로 쓰다, 뭔가 전체적으로 세련되지 못된거같아 이리저리 찾던중 발견한 cloudflared=argo tunnel(?) 입니다
구체적으로는,

    -> 시놀로지 : 망분리 불가, 설정이 1차원적
    -> NPM : 뭔가 불안정, 보안 이슈가 있다는 검색 결과 존재
    -> traefik: 도커&쿠버네티스를 주력으로 쓴다면 매우 좋으나, 서비스를 독립적으로 돌리는 입장에서는 설정도 복잡하고 직관성이 떨어짐
-> 다른 역방향 프록시 사용시에는 포트를 열어줘야하나, cloudflared 사용시, 클플 에지서버에 직결되므로 포트를 열필요가 없음
-> zero trust 인가 하는 서비스를 사용하면 2FA/ SSO 비스무리한것도 사용가능합니다

 

각설하고, 아래 글을 참고해 일주일정도 삽질해서 알아낸 결과물입니다
    -> https://ineed.coffee/post/reverse-proxy-self-hosted-services-with-cloudflare-tunnel

    -> https://www.reddit.com/r/selfhosted/comments/q60jk8/cloudflare_argo_tunnel_and_reverse_proxy/
    -> https://www.reddit.com/r/selfhosted/comments/orzdcc/cloudflared_argo_tunnel_swag_nginx_in_docker_help/
    -> https://blog.cloudflare.com/argo-tunnels-that-live-forever/

 

작업순서
→ cloudflared 설치

→ 키 임포트

→ 터널 생성

→ 설정 생성

→ dns 연결

→ 터널 가동

→ 테스트

 

준비물 : 클라우드 플레어 계정, 연동된 도메인, 인터넷이 연결된 서버(여기서는 우분투 사용)

 

아래부터 튜토리얼입니다.

 

1. cloudflared 설치 - https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation/

Cloudflare One™ is the culmination of engineering and technical development guided by conversations w...

sudo apt-get install wget curl nano --yes

cd && sudo wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb

sudo dpkg -i cloudflared-linux-amd64.deb
이상의 과정을 통해 설치후,
cloudflared -v 를 통해 출력이 잘 된다면 설치가 된것입니다.'

 

2. cloudflare 로그인, 인증서 들고오기

cloudflared tunnel login -> cert.pem을 다운받아, /etc/cloudflared 경로로 복사
cd /etc/cloudflared && ls -la cd /etc/cloudflared
를 쳤을때 cert.pem 이 있으면 정상입니다.


3. 터널 생성
cloudflared tunnel create {tunnel} 명령어를 치면 터널이 생성됩니다. {tunnel} 부분은 원하는 이름으로 하시면 됩니다.

image.png.jpg

확장자가 .json인 파일이 생길텐데, 파일명= {tunnelUUID} 을 잘 복사해두세요

 

4. 설정 생성

touch /etc/cloudflared/config.yml && nano  /etc/cloudflared/config.yml


아래 내용을 복사합니다.

 

tunnel: {tunnelname}
credentials-file: /etc/cloudflared/{tunnelname}.json

ingress:
  - hostname: app.yourdomain.com
    service: http://localhost:80
  - service: http_status:404

 

위 항목에서 적절히 수정한 예시
 

tunnel: 12345678-asdfqwer
credentials-file: /etc/cloudflared/12345678-asdfqwer.json

ingress:
  - hostname: server.mydomain.com
    service: http://192.168.0.254:8099

  - hostname: home.mydomain.com
    service: http://172.168.0.2:80


  - service: http_status:404

이런식으로 수정하시면 되겠습니다

 

 

5. 터널 가동

cloudflared tunnel run {tunnel} 를 통해 터널을 실행하시고, 이제 dash.clouflare.com에서 설정을 합니다.
website -> DNS 설정에서

image.png.jpg

 

1번 부분에는 server.mydomain.com 에서 server 부분을, 2번 부분에는 {tunnelUUID}.cfargotunnel.com 를 넣어주시면 됩니다


이렇게 해서 접속이 되셨으면 이제 서비스로 등록해서 자동으로 실행되게 해줍니다.

cloudflared service install 로 등록  

 

systemctl start cloudflared 로 실행

systemctl status cloudflared 로 상태확인 / 뭔가 상태 이상하면 들어가보기

systemctl restart  cloudflared 로 재실행 / 설정 수정하고 나서 매번 하기

 

이렇게 완료입니다.
저도 방금 처음 성공해봐서 완전하지가 않은데,
한국어 글은 눈을 씻고 찾아봐도 없어서 나중에 잊어먹었을때 다시 보기 위한 목적으로 작성하는거라 차차 수정해가도록 해야겠네요.
혹시 안되는게 있다면 댓글 달아주세요.

 

헤놀로지/nginx/etherpad 현재 연결된 상태인데, 잘 작동합니다
 

+ 2022.04.02 추가

CF.jpg


-> 상태 모니터링하다 우연히 발견한건데, 신기하게 엣지서버 (NRT,ICN) / 도쿄, 서울 을 지나가네요. 제가 알기로는 서울 리전은 기업등급 플랜에서만 사용 가능한것 같은데, 이쪽으로 터널 뚫어주기도 하나봅니다.

 

신고공유스크랩
2
5명이 추천
1등
th20ry 2022.03.12. 22:24

우와 2FA 가능하면 진짜 다 열고 써도 꽤 안전하겠네요ㅎㅎ

실력(?)이 더 늘어나면 한번 적용해봐야겠습니다

profile image 2등
달소 2022.03.13. 16:46

오오 이런서비스도있군요..

좋은 정보 감사합니다. TTFB나 속도 하락이 없다면 내부 시스템 보안용으로도 괜찮을듯하네요 ㅎㅎ

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

본 게시판은 서버구축 게시판과 통합되었습니다.

서버구축 게시판 이동하기
분류 제목 글쓴이 날짜 조회 추천
공지 서버OS(ESXi/Linux/Router 등) 게시판 이용안내. 달소 21.11.16.17:43 587 +1
ESXi 공지 ESXi 관련 추천글 모음 5 달소 21.04.23.12:19 3761 +6
ESXi USB LAN으로 ESXi8 설치하기.(Feat. Realtek LAN) 15 달소 23.01.01.18:51 2188 +2
Assistant OS 당신이 알아야할 새로운 스탠다드 Matter란 무엇인가 5 DarkAcid 22.12.30.02:38 740 +1
Proxmox 인텔 igpu는 gvt-g를 이용해 두개 이상의 가상머신에 패스스루 해줄 수 있네요. 13 니즛 22.12.23.02:19 1380 +1
정보
image
달소 22.12.14.21:00 1628 +4
정보
image
purndal 22.11.26.23:38 859 +1
정보
image
냉동개구리 22.11.19.22:13 224 +1
정보
image
냉동개구리 22.11.13.17:20 156 0
정보
image
이세라 22.11.05.20:54 1374 +4
정보
image
달소 22.07.22.15:19 110 0
정보
image
달소 22.06.20.10:47 799 +1
정보
image
theb1ue 22.06.15.18:00 3273 +2
정보
image
달소 22.04.12.17:22 694 +1
정보
image
달소 22.04.12.14:50 2885 +2
정보
image
뻘짓의초심자 22.04.01.23:15 161 +1
정보
image
syaro 22.03.12.20:54 1457 +5
정보
image
달소 22.01.22.16:16 80 0
정보
image
달소 22.01.07.14:17 1906 0
정보
file
냥냥이 21.12.21.09:24 98 +2
정보
image
달소 21.11.23.13:24 1381 +1