Info
OPNSense 에 HAProxy 를 설치하는 과정을 기술한 페이지입니다.
포트포워딩
아래와 같이 포트포워딩을 설정해줍니다. 110 은 opnsense 입니다.

ACME 와 HAProxy 설치
먼저 System - Firmware - Plugins에 들어가서 os-haproxy와 os-acme-client를 검색하여 설치합니다. (community 플러그인을 켜주어야 합니다.)

Cloudflare 를 통한 인증 시도
1. ACME Settings
Services - ACME Client - Settings로 들어가서 Enable Plugin을 체크해주고 Auto Renewal도 체크 해줍니다.

2. Accounts 설정
아래 이미지와 같이 설정해줍니다.

3. Challenge Types 설정
아래 이미지와 같이 설정해줍니다. 이때, Key 는 cloudflare 에서 발급 받은 Globla key 를 활용합니다.

4. Certificates
아래 이미지와 같이 설정해줍니다. 설정 이후에 Issue/Renew All Certificates를 클릭해줍니다.
Alt Names 에 dorong9.com *.dorong9.com 을 넣어줍니다.

5. Automations
필자는 인증서 재발급 후에는 haproxy 를 재실행 해야하기 때문에 아래그림처럼 설정해줍니다.

이후에는 Log Files 를 통해 에러가 나는지, 제대로 받아오는지 확인해본 뒤
System -> Trust > Certificates 에 들어가서 인증서를 받아왔는지 확인합니다.
(최초에는 1개 생성되어 있는것은 원래 있는것이니 그냥 두면 됩니다.)

HAProxy
1. Real Servers 생성
Services → HAProxy → settings → Realservers 탭으로 들어가서 test 용 backend 서버 를 생성해줍니다.
이때 앞 단에서 443 SSL 을 들어온 뒤 뒷단 과는 80 즉 http 통신을 할 것이기 때문에 port 는 80 으로 해준 뒤 SSL 체크표시는 해제해줍니다.

2. Frontend 생성
Virtual Services 탭에서 Public Services 를 들어가서 테스트용 서비스를 생성합니다.


3. Backend 생성
Virtual Services 탭에서 Backend Services 를 들어가서 테스트용 서비스를 생성합니다.

이때 Servers 는 생성해둔 testbackend 를 선택해줍니다.


4. HAProxy 실행
아래의 경로로 접속하여 Enable HAProxy 를 선택해준 뒤 Apply 해줍니다.


5. 외부에서의 접속을 위한 Rules 추가
외부에서 들어오는 ip 가 HAProxy 를 통해 내부로 들어갈 수 있도록 아래와 같이 설정해줍니다.
