nginx에서 인증서 설치 후 http 요청을 https로 포워딩하는 것에 대한 포스팅이다.
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을 삽입 해주는 방법만이 유일하게 성공.
아.. 여러 서브도메인을 일일이 설정해주려면 너무 귀찮을 것 같은데.. 안타깝지만 그냥 별도로 기입해주는 것으로 되긴 되니까 그냥 넘어가본다.
뭐에 대한 응답이란 말인가.. 뭘 승인한거지 -_-?
아항.. 누군가 코멘트를 달면 어드민의 게시글 목록에 알람뱃지가 뜨는군요 ^^ 승인해주면 나타나니까 스팸대비가 되는거네 ㅋㅋ
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
Thank you for your advice. I’ll fix it as soon as possible.