반응형

하도 자주 반복해서 기록용으로 남겨둔다.
도메인은 구입해야한다.
Client
↓ https
nginx (host, 443)
↓ proxy_pass
Spring Boot (Docker, 8080)
전체적인 구조
1. 도메인 dns a 레코드 등록 확인
dig api.domain.xyz
해당 명령어를 통해 구입한 도메인에 a 레코드가 제대로 등록되었는지 확인한다.
새로 구입한 도메인에 경우 운 없으면 1시간이상 걸린다.
(내가 그랬다.)
2. nginx 설치 ( 호스트)
sudo apt update sudo apt install -y nginx
상태 확인:
sudo systemctl status nginx
3. nginx 기본 프록시 설정
sudo vi /etc/nginx/sites-enabled/default
아마 기본 설정들이 입력되있을 텐데
dd
dG
하면 다 지워진다.
server {
listen 80;
server_name api.domain.xyz;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
적용
sudo nginx -t
sudo systemctl reload nginx
테스트
curl http://localhost:8080/swagger-ui/index.html
curl http://api.domain.xyz/swagger-ui/index.html
둘 다 HTML 나오면 다음 단계로 진행
4. certbot 설치
sudo apt install -y certbot python3-certbot-nginx
5. HTTPS 인증서 발급
sudo certbot --nginx -d api.pw3hub.xyz
- 이메일 → 아무거나
- 약관 → Y
- HTTP → HTTPS 리다이렉트 → Y
6. Spring Boot 설정 추가
server:
forward-headers-strategy: framework
반응형
'Spring' 카테고리의 다른 글
| 출석관리체계에 AI 에이전트 구축하기 - 0 (0) | 2025.12.27 |
|---|---|
| Audit Log 조회 API 성능 개선기 - 3 (1) | 2025.08.08 |
| Audit Log 조회 API 성능 개선기 - 2 (8) | 2025.08.08 |
| Audit Log 조회 API 성능 개선기 - 1 (4) | 2025.07.19 |
| Github Action 환경에서 모든 테스트코드가 실패한다. (0) | 2025.07.19 |