NGINX를 사용하여 URL을 리디렉션하는 방법은 무엇입니까? (일시적인 영원한)

게시 됨: 2024-01-26

목차
리디렉션이란 무엇입니까?
Nginx 리디렉션의 필요성은 무엇입니까?
일반적인 Nginx 리디렉션 방법(임시 및 영구)
Nginx를 사용하여 URL을 리디렉션하는 방법(임시 및 영구)
Nginx 구문 확인
Nginx 서버 다시 시작
요약
자주 묻는 질문

리디렉션이란 무엇입니까?

Nginx와 관련하여 리디렉션은 웹사이트 트래픽이 한 URL에서 다른 URL로 이동되는 웹 서버 기능입니다. 방문자를 자동으로 다른 위치로 쉽게 리디렉션할 수 있는 가장 유용한 기능 중 하나입니다.

다양한 유형의 리디렉션을 수행할 수 있지만 가장 중요하고 일반적으로 사용되는 두 가지는 영구 리디렉션(301)과 임시 리디렉션(302)입니다.

이 게시물에서는 www에서 www가 아닌 ​​곳으로, 도메인으로의 Nginx 리디렉션, HTTP에서 HTTPS로의 Nginx 리디렉션 등과 같은 예시를 통해 리디렉션 방법을 보여 드리겠습니다.


읽기: WordPress 리디렉션 URL은 어떻게 작동하나요? 5가지 최선의 방법


Nginx 리디렉션의 필요성은 무엇입니까?

  • Nginx는 기준에 따라 웹사이트 URL을 다른 주소로 리디렉션하는 중요한 기능 중 하나를 제공합니다.
  • Nginx 리디렉션은 매우 사용자 친화적이고 구성하기 쉬우므로 웹사이트 URL을 관리하는 데 매우 유연합니다.
  • 특히 한 CMS에서 다른 CMS로 마이그레이션하는 경우 페이지의 SEO 순위를 유지하는 데 매우 유용합니다.
  • 리디렉션 기능은 URL 구조 변경에도 불구하고 SERP 위치를 유지하는 데 도움이 됩니다.

일반적인 Nginx 리디렉션 방법(임시 및 영구)

이미 언급한 대로 다양한 유형의 리디렉션 방법이 있지만 실제로는 일반적으로 사용되는 두 가지 유형, 즉 임시 리디렉션과 영구 리디렉션만 있습니다.

임시 리디렉션(응답 코드: 302 발견)

  • 이름 자체에서 임시 약물의 효과를 예상할 수 있습니다. 음, 이 방법은 페이지 위치를 한 위치에서 다른 위치로 일시적으로 변경하는 데 사용됩니다.
  • 응답 코드: 302 Found는 이러한 리디렉션 중에 페이지의 임시 전달을 표시하기 위해 사용됩니다.
  • 이는 주로 웹사이트 유지 관리 중에 사용됩니다. 임시 리디렉션은 트래픽이나 사용자에게 웹 사이트를 일시적으로 사용할 수 없음을 알립니다.
  • 불완전한 페이지를 다른 지점이나 홈 페이지로 리디렉션하는 데에도 사용할 수 있습니다.
  • 예시 시나리오: 방문자가 웹 사이트 페이지로 이동했지만 유지 관리로 인해 웹 사이트가 현재 유지 관리 중임을 나타내는 알림으로 리디렉션됩니다.
Temporary Redirection
임시 리디렉션(응답 코드: 302 발견)

영구 리디렉션(응답 코드: 301 찾음)

  • 영구 Nginx 리디렉션은 페이지 도메인을 영구적으로 재배치하는 데 사용됩니다.
  • 이 컨텍스트에서 페이지의 영구 이동을 지정하기 위해 301 리디렉션이 사용됩니다.
  • 이 리디렉션은 사용자가 도메인 이름을 변경하고 더 이상 웹사이트 트래픽이 이전 위치에 액세스하는 것을 원하지 않을 때 주로 사용됩니다.
Permanent Redirection
영구 리디렉션(응답 코드: 301 찾음)

Nginx를 사용하여 URL을 리디렉션하는 방법(임시 및 영구)

시작하기 전에 먼저 VPS 또는 가상 사설 서버에 NGINX가 설치되어 있는지 확인해야 합니다. 그런 다음 SSH를 통해 VPS에 액세스하세요. Wpoven에서는 SSH 명령줄 콘솔을 통해 사이트에 쉽게 액세스할 수 있습니다.


읽기: SSH를 통해 WPOven 사이트에 액세스할 수 있나요?


NGINX 구성 설정

  • NGINX 구성 파일 위치: NGINX 구성은 일반적으로 서버에 대한 지시문과 설정이 포함된 일반 텍스트 파일인 .conf 파일에 저장됩니다.
  • 기본 위치: NGINX 구성 파일의 기본 위치는 사이트의 문서 루트 디렉터리 내에 있는 경우가 많습니다. 이 경우 경로는 /etc/nginx/sites-available/directory_name.conf 입니다.
  • 문서 루트 디렉토리: 이 디렉토리는 귀하의 웹사이트 파일이 저장되는 곳입니다. 문서 루트는 다양할 수 있습니다. 단일 사이트 서버의 경우 /html 디렉토리에 있을 수 있습니다. 서버가 여러 사이트를 호스팅하는 경우 문서 루트는 /domain.com 과 같은 특정 도메인 디렉터리 내에 있을 수 있습니다.
  • 구성 파일 이름 지정: .conf 파일의 이름은 사이트에 해당합니다. 예를 들어 사이트가 /html 디렉터리에 있는 경우 .conf 파일 이름은 html.conf 가 될 수 있습니다. /domain.com 과 같은 디렉터리에 있는 경우 .conf 파일 이름은 domain.com.conf 가 될 수 있습니다.
  • 기본 구성 파일: /etc/nginx/sites-available/directory 내에 일반적으로 템플릿으로 사용할 수 있는 기본 파일이 있습니다. 이 파일에는 필요에 맞게 복사하거나 수정할 수 있는 기본 구성이 포함될 수 있습니다.
  • 새 구성 파일 생성: 또는 새 .conf 파일을 생성할 수 있는 옵션이 있습니다. 예를 들어 사이트의 구조와 명명 규칙에 따라 html.conf 또는 domain.com.conf 라는 파일을 만들 수 있습니다.

Nginx에는 "rewrite" 지시문이라는 내장 도구가 있다는 사실을 알면 놀랄 수도 있습니다. 리디렉션을 쉽게 만들어주는 매우 편리한 도구입니다. 가장 좋은 점은 이에 대해 특별히 수행해야 할 작업이 없으며, 새로운 Nginx를 설치할 때마다 자동으로 표시된다는 것입니다.

이 "rewrite" 지시어는 단지 기본적인 방향전환만을 위한 것이 아니라 매우 다재다능합니다. 즉, 영구 리디렉션과 임시 리디렉션이라는 두 가지 유형의 리디렉션을 생성할 수 있습니다.

여러분이 해야 할 일은 이전 URL과 새 URL이라는 두 개의 인수만 전달하는 것뿐입니다. 다음은 참고할 수 있는 몇 가지 예입니다. 서버 구성에 다음 줄을 입력하세요.

먼저 터미널에 다음 명령어를 입력하여 구성 파일을 엽니다.

$ sudo vi /etc/nginx/nginx.conf

그런 다음 요구 사항에 따라 아래 명령을 사용하십시오.

1. 페이지 간 Nginx 리디렉션

임시 페이지 간 Nginx 리디렉션

server {
# Temporary redirect to an individual page
rewrite ^/oldpage$ http://www.example.com/newpage redirect;
}

페이지 Nginx 리디렉션으로 영구 페이지

server {
# Permanent redirect to an individual page
rewrite ^/oldpage$ http://www.example.com/newpage permanent;
}

위 명령에서 영구 리디렉션을 생성하려면 지시문 끝의 "redirect"를 "permanent"로 바꾸면 된다는 것을 알 수 있습니다.

2. WWW를 www가 아닌 ​​Nginx로 리디렉션

www가 아닌 ​​리디렉션에 대한 영구 www:

server {
# Permanent redirect to non-www
server_name www.example.com;
rewrite ^/(.*)$ http://example.com/$1 permanent;
}


참고 : www가 아닌 ​​곳에서 www로 리디렉션하려는 경우 위 명령에 언급된 웹사이트 URL을 바꾸면 됩니다. 즉, www.example.com을 example.com으로 바꾸거나 그 반대로 바꾸세요.


3. Nginx에서 URL을 HTTP에서 HTTPS로 리디렉션하는 방법은 무엇입니까?

이 리디렉션을 수행하기 전에 SSL 인증서를 설치하는 것을 잊지 마십시오. HTTPS로 리디렉션하면 이점이 있습니다. 모든 MIMT 공격, 데이터 도난 등으로부터 웹사이트를 보호하는 데 도움이 됩니다. 그리고 포트도 다릅니다. 예를 들어 HTTP는 80 포트를 사용하는 반면 HTTPS는 443을 사용합니다.

따라서 귀하와 방문자 간에 공유되는 모든 민감한 정보를 보호하려면 다음 명령이 필요합니다.

server {
listen 80;
server_name www.domain.tld;
return 301 https://www.domain.tld$request_uri;
}

4. Nginx URL을 다른 URL로 리디렉션

nginx를 다른 URL 301로 영구적으로 리디렉션하려면 다음 명령을 사용하십시오.

이전 도메인에서 새 도메인으로

server {
listen 80;
listen 443 ssl;
server_name olddomain.com www.olddomain.com;
return 301 $scheme://www.newdomain.com$request_uri;
}

또는

server {
# Permanent redirect to new URL
listen 443 ssl;
# Add this line to listen on the HTTPS port and enable SSL server_name olddomain.com;
ssl_certificate /path/to/your/ssl_certificate.crt; # Update with the actual path to your SSL certificate
ssl_certificate_key /path/to/your/ssl_certificate_key.key; # Update with the actual path to your SSL certificate key
# Additional SSL settings can be configured here
rewrite ^/(.*)$ https://newdomain.com/$1 permanent;
# Update to use 'https' protocol
}

  • 우리는 Nginx의 "rewrite" 지시문이라는 도구를 사용하여 웹사이트에 대한 리디렉션을 설정했습니다.
  • ^/(.*)$ URL에서 마지막 슬래시( / ) 뒤의 모든 내용을 사용하는 정규식입니다.
  • 예를 들어 누군가가 http://olddomain.com/index.html 에 액세스하려고 하면 index.html 부분을 사용하게 됩니다.
  • 따라서 http://olddomain.com/index.html 로 이동하려는 경우 원활하게 http://newdomain.com/index.html 로 리디렉션됩니다.
  • 아이디어는 사용자를 새 도메인의 동일한 콘텐츠로 원활하게 리디렉션하는 것입니다.
  • 이 리디렉션이 영구적인지 확인하기 위해 rewrite 지시문 뒤에 "Permanent"라는 특수 키워드를 추가했습니다.
  • 이는 HTTP 301 상태 코드를 사용하여 이것이 영구적인 변경임을 브라우저와 검색 엔진 모두에 알립니다.

5. Nginx는 URL을 변경하지 않고 다른 도메인으로 리디렉션됩니다.

URL을 변경하지 않고 도메인 olddomain.com을 newdomain.com으로 리디렉션한다고 가정합니다. 이는 olddomain.com을 입력하면 newdomain.com으로 리디렉션되어야 하지만 URL은 여전히 ​​olddomain.com을 표시해야 함을 의미합니다.

접근방법은 이렇습니다.

server {
listen 80;
server_name olddomain.com;

location / {
proxy_pass http://newdomain.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}

6. 특정 사이트 Nginx 리디렉션

server {
listen 80;
server_name example.com;
return 301 http://newexample.com$request_uri;
}


Nginx 구문 확인

모든 nginx 구문이 올바른지 확인하려면 다음 명령을 사용하십시오.

nginx -t

출력이 비어 있는 것으로 판명되면 구문이 정확하고 이러한 수정 사항을 적용하려면 Nginx 서버를 다시 시작해야 함을 의미합니다.


Nginx 서버 다시 시작

다음 명령을 사용하여 이러한 규칙을 적용하려면 Nginx 서버를 다시 시작하는 것을 잊지 마십시오.

sudo systemctl restart Nginx


요약

위에서 이미 언급했듯이 Nginx는 영구 및 임시 Nginx 리디렉션을 쉽게 만들 수 있는 가장 강력하고 사용자 친화적인 웹 서버로 밝혀졌습니다.

이 블로그를 읽고 나면 이제 NGINX를 사용하여 리디렉션 URL을 만드는 방법을 알게 되었습니다. nginx가 HTTP에서 HTTPS로, 한 도메인에서 다른 도메인으로 리디렉션하는지 여부 등

또한 리디렉션이 SEO 순위에 어떤 영향을 미치는지 배웠으므로 항상 올바른 리디렉션 유형을 사용하는지 확인하세요.

이 유용한 기능을 사용하면 추세 및 요구 사항에 따라 웹 사이트 구조를 쉽게 변경할 수 있으며 트래픽 및 SERP 순위 손실에 대한 두려움을 피할 수 있습니다.

WPOven은 귀하의 다음 NGINX 프로젝트를 위한 WordPress 관리형 호스팅 옵션을 제공합니다. 귀하에게 가장 적합한 옵션에 대해 논의하려면 당사에 문의하십시오.

문의 사항이나 제안 사항이 있는 경우 아래 댓글 섹션에 알려주시기 바랍니다.


자주 묻는 질문

nginx에서 URL을 리디렉션하는 방법은 무엇입니까?

Nginx에는 "rewrite" 지시문이라는 내장 도구가 있습니다. 리디렉션을 쉽게 만들어주는 매우 편리한 도구입니다. 가장 좋은 점은 이에 대해 특별히 수행해야 할 작업이 없으며, 새로운 Nginx를 설치할 때마다 자동으로 표시된다는 것입니다.

Nginx의 리디렉션 코드는 무엇입니까?

nginx는 매우 다재다능하며 두 가지 유형의 리디렉션, 즉 응답 코드가 301인 영구 리디렉션과 임시 감소 응답 코드가 302인 리디렉션을 제공합니다.

NGINX는 어떤 용도로 사용되나요?

Nginx는 다목적 고성능 웹 서버이자 역방향 프록시 서버입니다. 일반적으로 웹 서버 , 역방향 프록시 서버 , 로드 밸런서 , SSL/TLS 종료 , 캐싱 , CDN(콘텐츠 전송 네트워크) , API 게이트웨이 , WebSocket 지원 , 보안 고가용성 아키텍처 등의 목적으로 사용됩니다.