nginx 다중 서브도메인 http요청을 https로 포워딩하기

nginx에서 인증서 설치 후 http 요청을 https로 포워딩하는 것에 대한 포스팅이다.

https forwarding
https forwarding

nginx버전은 다음과 같다.

nginx version: nginx/1.18.0 (Ubuntu)

아래 기본 설정파일을 연다.

vi /etc/nginx/conf.d/default.conf

서버네임 부분에 메인 도메인과 서브도메인을 쭉 넣어주고 return 301부분을 넣어주고 저장

server_name hi.ne.kr dev.hi.ne.kr;
.
.
.
return 301 https://$host$request_uri;

nginx -t 로 테스트

root@blabla:/etc/nginx/conf.d# nginx -t
nginx: [warn] conflicting server name "dev.hi.ne.kr" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "dev.hi.ne.kr" on [::]:80, ignored
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

아놔.. 경고가 -_-;

/etc/nginx/conf.d/default.conf 여기에 넣으면 안되는 것 같다.

# server_name hi.ne.kr dev.hi.ne.kr;

위와 같이 주석 처리하고 /etc/nginx/sites-available/default파일의 각 도메인별 설정에 return 301을 넣어주도록 수정.

이번엔 nginx -t가 깔끔했다.

이상없으면 로 재기동 후 브라우저로 테스트한다.

systemctl restart nginx

사실 다중 서브도메인을 와일드카드문자를 이용하여 포워딩이 가능할거라고 생각했었다.

구글링을 해보면 *.hi.ne.kr을 server_name에 지정하거나 regex를 이용하여 표기하면 가능한 것처럼 게시물들이 나오는데 아무리 시도를 해봐도 실패하였다.

server_name hi.ne.kr dev.hi.ne.kr 처럼 직접 서브도메인을 하나하나 지정해주거나 (이것도 nginx -t에서 warn발생) sites-available/default안의 도메인 별 80요청 부분에 전부 return 301을 삽입 해주는 방법만이 유일하게 성공.

아.. 여러 서브도메인을 일일이 설정해주려면 너무 귀찮을 것 같은데.. 안타깝지만 그냥 별도로 기입해주는 것으로 되긴 되니까 그냥 넘어가본다.

생계형 특급 개발자이자 아들 하나 있는 평범한 아빠. 취미는 요리, 캠핑, 뮤직 페스티발 다니기 등이지만 이 블로그에는 주로 개발관련된 내용만 올릴 예정입니다. 워드프레스를 시작한지 얼마 되지않아 사이트가 허전하지만 좋은 내용으로 채우도록 노력하겠습니다. 자주 놀러오세요 ^^
Posts created 54

5 thoughts on “nginx 다중 서브도메인 http요청을 https로 포워딩하기

      1. 아항.. 누군가 코멘트를 달면 어드민의 게시글 목록에 알람뱃지가 뜨는군요 ^^ 승인해주면 나타나니까 스팸대비가 되는거네 ㅋㅋ

  1. Hello just wanted to give you a quick heads up. The words in your content seem to be running off the screen in Chrome. I’m not sure if this is a formatting issue or something to do with internet browser compatibility but I thought I’d post to let you know. The layout look great though! Hope you get the issue solved soon. Cheers

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top