Skip to content
TUWLAB.com
모든 게시물에 대하여 '링크'
방식의 퍼가기만 허용합니다.
한양대학교 전자통신컴퓨터공학부
바라미
  • 418
  • 2567266
DNS Powered by DNSEver.com
Nginx

Nginx에서 자동 Redirection(301 Permanently moved) 설정하기

Posted 2016. 06. 25 Updated 2016. 06. 25 Views 15359 Replies 0

Nginx 설정파일의 server블록 안에 다음과 같은 구문을 추가하면 해당 가상 서버로 접속한 사용자를 지정한 주소로 자동 Redirection 시킬 수 있습니다.

return 301 {Redirection 주소};

여기서 301은 HTTP Status Code로, 영구 이동(Permanently moved)을 의미합니다. 즉, "네가 요청한 페이지가 영구히 이전되었으므로 이 주소로 다시 접속을 시도해 봐라."라는 의미입니다.

301대신 302를 쓰면 임시 이동(Temporary moved)을 의미하며, "유지/보수/점검 등의 이유로 요청한 페이지가 잠시 다른 주소로 옮겨졌으며, 이번에는 이 주소로 접속을 시도하고 다음번에는 원래 주소로 접속하라."는 의미입니다.

브라우저에서 301/302 HTTP Status Code를 수신하면 지정된 주소로 다시 요청을 보내게 됩니다.

어차피 브라우저를 통해 접속한 사용자의 입장에서는 301이나 302나 지정한 주소로 Redirection되는 것은 똑같지만, 접속을 시도한 사용자가 사람이 아니라 웹 크롤러와 같은 Bot인 경우에 대비해서 이 차이를 정확히 명시해 주어야 합니다.(예를 들어, 웹 크롤러가 301을 반환받았다면 검색엔진의 Indexing된 주소를 수정할 것입니다.)


이 Redirection은 접속하려는 사용자에게 HTTPS를 통한 접속을 강제하려 할 때에도 유용하게 사용할 수 있습니다. 예를 들어, 다음과 같이 설정파일을 작성하면 http://tuwlab.com 으로 접속하려는 사용자를 https://tuwlab.com 으로 강제 Redirection 시킵니다.

server
{
	listen		80;
	server_name	tuwlab.com;
	return 301 https://$server_name$request_uri;
}


뭐, 다음과 같이 스크립트를 통해서 수동으로 Redirection을 해 줄 수도 있지만,

<script>
	document.location.href = "{Redirection 주소}";
</script>

이 경우 페이지를 이동하는 과정에 사용에게 순간적으로 노출이 되고, 자바스크립트를 꺼 놓은 경우 흰색의 빈 화면만 달랑 표시되고 아무 일도 일어나지 않게 됩니다. 더 큰 문제점은 이런 식으로 Redirection을 하면 검색엔진에서 크롤링을 하지 않거나, 스팸 사이트로 분류할수도 있다는 점입니다.

따라서 이동된 페이지에 대해서는 HTTP Status Code를 사용해서 정확히 무슨 일이 일어났는지 Client측에 알려주도록 해야 합니다.


서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
177 일반 [CMake 튜토리얼] 2. CMakeLists.txt 주요 명령과 변수 정리 1 file TUW 2019.10.02 180044
176 일반 [CMake 튜토리얼] 1. CMake 소개와 예제, 내부 동작 원리 file TUW 2018.06.13 165693
175 일반 [Make 튜토리얼] Makefile 예제와 작성 방법 및 기본 패턴 2 file TUW 2018.11.21 232987
174 일반 [적외선 통신] IR 리모컨 신호 분석 file TUW 2021.12.28 21279
173 일반 [적외선 통신] IR 송수신 소자, IR 송수신 회로 file TUW 2021.12.28 23981
172 일반 GitLab 코드리뷰 페이지 탭 크기(Tab Size) 4칸으로 바꾸기 file TUW 2021.12.28 3875
171 일반 Linux에서 Code Composer Studio (CCS) - Ti ARM 개발환경 구축하기 file TUW 2017.06.02 4607
» Nginx Nginx에서 자동 Redirection(301 Permanently moved) 설정하기 TUW 2016.06.25 15359
169 Nginx Nginx에서 SSL(HTTPS) 보안 서버 설정하기 (+약간의 이론) TUW 2016.06.25 11294
168 Security SSL Handshake 과정 TUW 2016.06.21 7324
167 Linux [Ubuntu] 원격 Shell에서 로그인 사용자 디스플레이에 GUI 프로그램 실행하기 TUW 2016.03.06 9944
166 Linux Root권한 없이 Wireshark 사용하기 file TUW 2017.06.02 108748
165 Linux fstab과 sshfs fuse를 활용한 원격 디렉토리 자동 마운트하기 TUW 2022.04.28 19813
164 Python [Django Tutorial] 9. Production - uWSGI를 통해 Nginx 웹 서버와 연동하기 1 TUW 2018.06.17 10774
163 Python [Django Tutorial] 8. Production - setting.py설정, Static파일 모으기 TUW 2017.06.16 5000
162 Python [Django Tutorial] 7. 백엔드 콘솔에 Custom Command 추가하기 file TUW 2017.06.16 3768
목록
Board Pagination Prev 1 2 3 4 5 6 7 ... 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5