복's
[ Life-Log ] 서버 설정 - 도메인 붙이기 본문
이전 프로젝트에서 구성해놓은 세팅이 있는데, 새롭게 도메인 하나 더 구매해서 연결하기로 했다.
젠킨스는 이미 설치되어있기 때문에 젠킨스 설치는 패스하고, 새롭게 github 프로젝트 하나 만들어서 초기 스프링부트 프로젝트 하나 올려서 CI/CD 가 제대로 동작 하는지 확인 해야겠다.
443 (https) 는 이전에 Let's Encrypt 이용해서 설정 해놨으니까 이 부분도 패스하고, 프로젝트 세팅 위주로 가야겠다.
(외부)
https://inbok.shop
https://nabok.shop
│
▼
┌─────────────┐
│ NGINX │ ← Reverse Proxy (80/443 listen)
└─────┬───────┘
│
▼
┌─────────────────────────┐
│ localhost:81 (서비스 A) │
│ localhost:82 (서비스 B) │
└─────────────────────────┘
[ 📌 프로젝트 생성 ]
일단 새롭게 구매한 도메인이랑 연결할 프로젝트 확인할 수 있게 루트 url 핸들러 가볍게 하나 만들어주고, 서버로 프로젝트 이동 시긴다.
@GetMapping("/")
public String Home() {
log.info(LocalDateTime.now().toString());
return "Hello Home !!!" + LocalDateTime.now();
}
로컬에 있는 프로젝트를 내 서버로 옮겨주고
scp 이동할_프로젝트.jar 서버계정@서버IP:서버로이동할경로/파일명.jar
프로젝트 실행
java -jar 파일명.jar
스프링 서버를 올렸는데 접속이 안된다... 잘 생각 해보니 nginx 설정을 안했다.
[ 📌 도메인 연결 ]
기존 도메인(inbok) 은 이미 인증서를 발급 했었는데, 새로운 도메인은 안했으니까 인증서를 발급 해준다.
(나는 sudo 권한을 해놓았음)
certbot --nginx -d nabok.shop
nginx site-available 에 새로운 도메인 서버 설정 추가 (80, 443 포트 서버 블록들 정리)
사실 이렇게만 해줬으면 끝날줄 알았는데....
접속이 안된다...
nslookup inbok.shop
[ 결과 ]
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
*** Can't find nabok.shop: No answer
확인 해보니까 DNS 가 내 서버를 보고있지 않았는데, 생각을 해보니까 가비아에서 구매하고 바로 적용되는게 아니라서 복싱장에 운동하러 갔다왔다.
2 Hours Later...
이제 nslookup 으로 확인 해보니까 제대로 되어있는걸 확인 했다.
그런데 nabok(새로운 도메인) 으로 접속을 시도해도 inbok(기존에 등록한 도메인) 으로 요청이 들어가는 현상이 발생했다...(???)
sites-enabled 에 새로운 도메인 심링크가 없는 상태여서 nginx 로 nabok.shop 으로 접속해도 443 포트로 등록된게 inbok.shop 밖에 없어서 inbok.shop 으로 계속 이동되는 문제였다.
심링크를 생성하고 나니까 문제가 해결 되었다.
[ ⚠️ 웹 브라우저 접속시 문제점 ]
연결이 비공개로 설정되어 있지 않습니다.
공격자가 www.inbok.shop에서 사용자의 정보를 도용하려고 시도할 수 있습니다(예: 비밀번호, 메시지, 신용카드 정보). 이 경고에 대해 자세히 알아보기 net::ERR_CERT_COMMON_NAME_INVALID
사용자 접속 url 은 www.inbok.shop 인데 nginx 에 server_name 에는 inbok.shop 만 작성 해놓음 (인증서가 호스트를 커버하지 못하고 있음)
server_name inbok.shop www.inbok.shop
이런 형태로 변경하니까 해결되었다.
'토이프로젝트' 카테고리의 다른 글
| [ Life-Log ] 홈 서버 세팅 (0) | 2025.11.17 |
|---|---|
| [ Life-Log ] 프로젝트 소개 (0) | 2025.11.17 |