본문 바로가기

자유

서버 reverse proxy 단을 nginx에서 caddy로 변경합니다. (운영 노트)

Hide_D2022.09.06 02:13조회 수 395댓글 6

    • 글자 크기

별건 아니지만 나름 의미가 있을테니 설정을 남겨둡니다.

 

공용 Caddyfile

{
	#email

	log {
		output file /var/log/caddy/access.log
	}
}

(default_https_header) {
	header {
		# enable HSTS
		+Strict-Transport-Security "max-age=31536000; includeSubDomains"
		Location http:// https://
	}

	log {
		output file /var/log/caddy/access_https.log
	}

	encode zstd gzip
}

(default_proxy) {
	import default_https_header
	reverse_proxy {args.0} {
		header_up X-Real-IP {remote_host}
		header_down -Strict-Transport-Security
	}
}

 

sam.hided.net 쪽 caddy

sam.hided.net {
	import default_proxy localhost:80808800

	@mirror_mode {
		remote_ip #CIDR
	}

	reverse_proxy @mirror_mode localhost:80808800{
		header_up host sam-mirror.hided.net
		header_down -Strict-Transport-Security
		trusted_proxies #TODO:cidr 입력!
	}
}

sam-mirror.hided.net쪽 caddy

sam-mirror.hided.net {
	import default_https_header
	reverse_proxy https://sam.hided.net {
		header_up host sam.hided.net
		header_up X-Real-IP {remote_host}
		header_down -Strict-Transport-Security
		header_up -alt-svc
		header_down -alt-svc
		header_down -server
		header_up -upgrade-insecure-requests

		transport http {
			tls
			tls_renegotiation once
			versions 2 1.1
		}
	}
}

 

해결해야 했던 사안:

(1) 두개의 URL sam.hided.net 이 원래 서버, sam-mirror.hided.net 이 미러일 때, 제대로 host와 remote_addr이 지정되도록 해야함.

(2) 두 서버 모두 caddy를 사용해야함!

(3) http/3를 써보고 싶었기 때문에 tcp stream proxy는 배제함. (기존 nginx에서는 tcp stream proxy 사용)

 

 

핵심 해결책:

(1) sam-mirror - sam 통신에서 header의 host 조작을 왔다갔다 해야함

(2) reverse_proxy에서 trusted_proxies를 지정해야 HTTP_X_FORWARDED_FOR가 제대로 전달됨

 

 

 

수정 2022-09-21: Caddy 2.6에서는 HTTP/3를 기본 지원하므로 기존 config 수정

    • 글자 크기

댓글 달기

댓글 6
번호 분류 제목 글쓴이 최근 수정일 날짜
공지 관리/운영 60기 이벤트 이후 당분간 추가 기능 류의 작업이 늦춰집니다.6 Hide_D 2023.10.30 2023.08.02
663 국가열전 [훼섭 베타22기]뉴비국 전기기사 2018.05.25 2018.05.25
662 국가열전 [훼섭 베타20기]뉴비국 전기기사 2018.05.23 2018.05.23
661 국가열전 [훼섭 베타13기]뉴비국 전기기사 2018.05.17 2018.05.17
660 국가열전 [풰섭 베타5기]뉴비국 전기기사 2018.05.14 2018.05.06
659 국가열전 [풰섭 베타2기]뉴비국 전기기사 2018.05.14 2018.05.01
658 국가열전 [퉤섭 베타4기]뉴비국 전기기사 2018.05.14 2018.05.01
657 국가열전 [퉤섭 베타14기]뉴비국 전기기사 2018.05.14 2018.05.14
656 국가열전 [퀘섭 베타6기]뉴비국 전기기사 2018.06.04 2018.06.04
655 개인열전 [퀘섭 14기] 토르 개인열전 토르 2018.11.25 2018.11.25
654 건국선언 [연구소] 건국합니다. Hide_D 2022.01.01 2022.01.01
653 토론&토의 [설문결과] 스마트폰 UI 테스트해보시고 많은 의견 주세요.18 Hide_D 2022.01.07 2021.12.17
652 토론&토의 [설문결과] 설문 주제 받습니다.1 Hide_D 2020.01.15 2020.01.15
651 자유 [설문결과] 사용하는 휴대폰 종류는? Hide_D 2018.12.06 2018.12.06
650 자유 [설문결과] 랜임 기수에 대한 처음 기대치는? Hide_D 2018.11.03 2018.11.03
649 토론&토의 [설문결과] m장을 조금만 더 세게 해볼까요?1 Hide_D 2019.08.22 2019.08.21
648 토론&토의 [설문] 상대방의 내 정보(감찰부)의 전투 결과에 나의 훈사,아이템정보,전투시부상 등이 같이 뜬다면? Hide_D 2019.10.25 2019.10.25
647 토론&토의 [설문] 갱신 버튼을 누르지 않고, 실시간으로 턴이 바뀐다면? Hide_D 2019.10.26 2019.10.26
646 토론&토의 [설문] https://sam.hided.net 이라는 접속 주소에 대해서2 Hide_D 2019.05.10 2019.05.10
645 토론&토의 [설문] 아무 기능이나 건의해주세요.5 Hide_D 2019.10.16 2019.10.11
644 토론&토의 [설문] 삼모전이 삼국지 UI를 흉내낸다면 적절한 것은? Hide_D 2019.10.13 2019.10.13
이전 1 ... 13 14 15 16 17 18 19 20 21 22... 51다음
첨부 (0)