docs: OpenSearch/nginx TLS 설정 현황 및 결정 사항 정리
- nginx HTTPS 이미 활성화 확인 - OpenSearch는 nginx 리버스 프록시 방식 채택 - 내부 HTTP 통신 유지 결정
This commit is contained in:
parent
22e4621812
commit
2e1dd1153f
64
troubleshooting/251215_admin_opensearch_tls_setup.md
Normal file
64
troubleshooting/251215_admin_opensearch_tls_setup.md
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# OpenSearch/nginx TLS 현황 및 결정
|
||||||
|
|
||||||
|
## 작성일: 2025-12-15
|
||||||
|
## 작성자: admin
|
||||||
|
## 환경: 51123 서버
|
||||||
|
|
||||||
|
## 배경
|
||||||
|
- TLS 적용 TODO
|
||||||
|
- 목적: OpenSearch 외부 접속 시 보안
|
||||||
|
|
||||||
|
## 현재 상태
|
||||||
|
|
||||||
|
### nginx
|
||||||
|
- 443 포트: nginx 사용 중 (PID: 1732569)
|
||||||
|
- HTTPS 활성: ro-being.com, git.ro-being.com, auth.ro-being.com
|
||||||
|
- 인증서: `/etc/letsencrypt/live/ro-being.com/` (Let's Encrypt, Certbot 관리)
|
||||||
|
|
||||||
|
### OpenSearch
|
||||||
|
- 포트 9200: HTTP만 작동
|
||||||
|
- 보안 설정: 데모 인증서 (esnode.pem)
|
||||||
|
- 컨테이너: hostexecutor-opensearch-node
|
||||||
|
|
||||||
|
### 로그 수집
|
||||||
|
- Fluent-bit → OpenSearch: 내부 HTTP 통신
|
||||||
|
|
||||||
|
## 검토한 방안
|
||||||
|
|
||||||
|
### 방안 1: OpenSearch HTTPS 활성화
|
||||||
|
- OpenSearch에 Let's Encrypt 인증서 적용
|
||||||
|
- Docker Compose volumes 수정 필요
|
||||||
|
- 내부 통신도 HTTPS 사용
|
||||||
|
- 장점: End-to-End 암호화
|
||||||
|
- 단점: 성능 저하, 설정 복잡, 인증서 관리 부담
|
||||||
|
|
||||||
|
### 방안 2: nginx 리버스 프록시 (권장)
|
||||||
|
- nginx에서 TLS 종료
|
||||||
|
- OpenSearch는 HTTP 유지
|
||||||
|
- nginx 설정에 `/opensearch` 경로 추가
|
||||||
|
- 외부: https://ro-being.com/opensearch
|
||||||
|
- 내부: http://localhost:9200
|
||||||
|
- 장점: 간단, 빠름, 표준 방식
|
||||||
|
- 단점: 내부 통신 평문
|
||||||
|
|
||||||
|
## 결정
|
||||||
|
- **nginx 리버스 프록시 방식 채택**
|
||||||
|
- 이유: 로그는 외부 노출 금지, 내부 HTTP 통신 충분
|
||||||
|
- nginx HTTPS는 이미 완료 상태
|
||||||
|
|
||||||
|
## 필요 작업
|
||||||
|
|
||||||
|
### nginx 프록시 설정 추가 (로컬 개발자)
|
||||||
|
```
|
||||||
|
location /opensearch/ {
|
||||||
|
proxy_pass http://localhost:9200/;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
auth_basic "OpenSearch Access";
|
||||||
|
auth_basic_user_file /etc/nginx/.htpasswd;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 결론
|
||||||
|
- TLS 적용: nginx는 완료, OpenSearch는 프록시 방식으로 해결
|
||||||
|
- 추가 작업: nginx 프록시 경로 설정만 필요
|
||||||
Loading…
x
Reference in New Issue
Block a user