복's

[ Life-Log ] 서버 설정 - 도메인 붙이기 본문

토이프로젝트

[ Life-Log ] 서버 설정 - 도메인 붙이기

나복이 2025. 11. 19. 16:14
728x90

이전 프로젝트에서 구성해놓은 세팅이 있는데, 새롭게 도메인 하나 더 구매해서 연결하기로 했다.

젠킨스는 이미 설치되어있기 때문에 젠킨스 설치는 패스하고, 새롭게 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

 

이런 형태로 변경하니까 해결되었다.

 

728x90

'토이프로젝트' 카테고리의 다른 글

[ Life-Log ] 홈 서버 세팅  (0) 2025.11.17
[ Life-Log ] 프로젝트 소개  (0) 2025.11.17