블로그로 돌아가기

.htaccess 파일 활성화, 생성 및 사용 방법: 튜토리얼

.htaccess 파일 활성화, 생성 및 사용 방법: 튜토리얼

A .htaccess 파일 또는 분산 설정 파일은 웹사이트의 설정을 제어하고 관리하는 데 사용되는 강력한 파일입니다. 메인 서버 설정 파일이 방해받지 않도록 모든 설정 변경은 디렉토리 단위로 이루어집니다.

.htaccess 파일을 사용하는 것이 선호되는 경우

오류 페이지를 로드하든 비밀번호 보안을 구현하든 상관없이, .htaccess 파일은 다양한 용도로 사용됩니다. 가장 일반적인 예는 다음과 같습니다:

  • 특정 URL 또는 URL 목록에 대한 리디렉션 추가.

  • 서버의 특정 디렉토리에 비밀번호 보호 활성화.

  • 사용자 정의 오류 페이지 로드.

  • 사이트가 HTTP 대신 HTTPS를 사용하도록 강제.

  • 특정 IP 또는 도메인 차단.

이 가이드에서는 다음 단계를 안내합니다: .htaccess 파일을 활성화, 생성 및 사용하는 방법.

사전 요구 사항

이 튜토리얼을 따르려면 다음이 필요합니다:

  • 시스템 사용자는 sudo 권한이 있어야 합니다..

  • SSL로 보안이 적용된 가상 호스트.

    • 다음 가이드를 따르세요: Ubuntu 18.04에서 Let’s Encrypt로 Apache 보안 적용 (사용자 정의 도메인을 사용하여 Apache를 설정하고 보안을 적용하려는 경우).

    • 또는, 다음을 수행할 수 있습니다: Ubuntu 20.04에서 Apache용 자체 서명 SSL 인증서 생성 (테스트 목적으로 Apache를 사용하려는 경우).

참고: 온라인에서 사용자 정의 도메인 구매를 고려할 수 있는 도메인 제공업체가 많이 있습니다. Namecheap, Freenom, 그리고 Bluehost 등이 뛰어난 서비스로 잘 알려져 있습니다.

초기 설정이 완료되면, sudo 사용자로 서버에 로그인하여 시작하겠습니다.

1단계 — .htaccess 파일 활성화

기본적으로 .htaccess 파일은 비활성화되어 있습니다. 먼저 Apache 설정을 변경하고 .htaccess 파일을 활성화해야 합니다.

다음 apache2/sites-available/your_domain.conf 가상 호스트 파일을 nano 또는 선호하는 텍스트 에디터로 엽니다:

앞서 Apache 웹 서버 가이드에서 설명한 설정이 완료되었다고 가정하면, 다음과 같은 설정 세부 정보를 찾을 수 있습니다:

다음으로, Directory 콘텐츠를 VirtualHost 블록 내에 포함시킵니다:

위 코드 블록에서 AllowOverride All 줄은 Directory 섹션 아래에서 가장 중요합니다. 이 섹션은 .htaccess 파일의 사용을 활성화합니다.

그 후, 작업을 저장하고 파일을 닫습니다. 만약 nano 텍스트 편집기를 사용 중이라면, 단축키 CTRL + X, Y, 그리고 ENTER를 사용하여 파일을 닫습니다.

웹 서버를 재시작하기 전에 구성을 확인하십시오:

모든 것이 올바르게 설정되었다면 출력으로 Syntax OK를 보게 됩니다. 이제 비밀번호 정책을 적용하기 위해 서버를 재시작하십시오:

일단 .htaccess 파일 설정이 활성화되면, 새 파일을 생성할 차례입니다.

2단계 — .htaccess 파일 생성

Creating a .htaccess 파일을 생성하는 것은 간단합니다. 구성 변경 사항이 올바르게 실행되도록 하려면 웹 루트 디렉터리(즉, 소스)로 이동하여 .htaccess 파일을 찾아야 합니다.

참고: .htaccess 파일을 찾을 때 주의하십시오. 구성의 미세한 오류가 해당 디렉터리와 그 하위 디렉터리에 부정적인 영향을 미칠 수 있습니다. 예를 들어, 동일한 Apache 서버에서 여러 웹사이트를 운영하려는 경우, .htaccess 파일을 웹사이트와 매핑된 웹 루트 디렉터리에 배치하십시오.

위에서 설명한 전제 조건을 따랐다면, 웹 루트 디렉터리는 /var/www/my_domain/.htaccess에 위치하게 됩니다. 다음으로, 다음을 사용하여 웹사이트용 .htaccess 파일을 생성하십시오:

이제 .htaccess 파일이 준비되었으므로, 몇 가지 사용 사례를 살펴보겠습니다.

3단계 — .htaccess 파일의 일반적인 용도

사이트에서 .htaccess 페이지를 사용하면 여러 가지 장점이 있습니다. 각각에 대해 자세히 알아보겠습니다:

  1. URL 리디렉션

URL 리디렉션은 URL 포워딩이라고도 하며, 도메인 방문자를 다른 URL로 리디렉션하는 데 사용되는 웹 서버 기능입니다. .htaccess를 URL 리디렉션 요구 사항에 사용할 수 있습니다. .htaccess 파일에 다음을 추가하여 소스 URL을 대상 URL에 매핑하십시오:

  1. 사용자 정의 오류 페이지 생성

A useful facet of the .htaccess 파일의 유용한 측면 중 하나는 사용자 정의 오류 페이지를 만드는 것입니다. 일반적으로 사용자가 웹사이트에 존재하지 않는 페이지에 접속하면 화면에 오류 메시지가 나타납니다. 몇 가지 일반적인 HTTP 오류 코드는 다음과 같습니다:

  • 400 Bad Request

  • 401 Unauthorization

  • 403 Forbidden

  • 404 Not Found

  • 500 Internal Server Error

  • 502 Bad Gateway

  • 503 Service Unavailable

기본 서버 페이지 오류인 "Page Not Found" 대신 .htaccess 파일을 사용하여 사용자에게 개선되고 사용자 친화적인 브라우징 경험을 제공하십시오.

  1. 보안 인증 설정

Using the .htaccess 파일을 사용하여 보안 인증을 설정할 수도 있습니다. 이를 위해 .htpasswd 파일을 생성하여 사용자를 인증해야 합니다.

보안 목적으로 비밀번호 파일을 생성하려면 htpasswd 명령을 사용하십시오. Apache는 이 비밀번호 파일을 사용하여 인증된 사용자를 확인합니다. /etc/apache2 디렉터리로 이동하여 다음과 같은 기밀 파일을 생성하십시오: .htpasswd.

필요한 .htpasswd 파일을 생성하려면 -c 옵션은 이 비밀번호 보안 유틸리티를 처음 사용할 때 지정합니다. 다음으로, 파일 내에 새 항목을 나열하기 위해 명령 끝에 사용자 이름을 지정합니다. 그 후, 사용자 이름을 nick (이 튜토리얼에서 사용됨)을 귀하의 사용자 이름으로 바꾸십시오:

다음으로, 사용자의 비밀번호를 입력하고 확인하라는 메시지가 표시됩니다.

계속 읽기 this tutorial을 통해 Ubuntu 20.04에서 Apache로 비밀번호 인증을 설정하고 구성하는 방법에 대해 자세히 알아보십시오.

  1. MIME 유형 추가

인터넷에서 사용되는 파일 분류는 다음을 사용하여 손쉽게 수행할 수 있습니다: Multi-Purpose Internet Mail Extensions (MIME) 유형. 웹사이트가 특정 파일을 전달하지 못하는 여러 시나리오에서 확장자를 추가하면 문제가 해결됩니다. 다음 코드를 사용하여 Apache 서버의 .htaccess 파일에 다목적 인터넷 메일 확장(MIME) 유형을 추가하십시오:

참고: 이 가이드에서는 오디오 파일 MIME 유형을 사용합니다. 애플리케이션 및 파일 확장자를 대상 MIME 유형으로 바꾸십시오. 또한 가상 호스트 구성과 .htaccess 파일의 위치 디렉터리가 다음 지시문을 사용할 수 있는지 확인하십시오: AddType 지시문. 그렇지 않으면 다음과 같은 오류가 발생합니다: 500 Internal Server Error.

  1. Server Side Includes(SSI)

SSI는 HTML 페이지에 동적 콘텐츠를 제공하는 지시문입니다. 각 페이지를 명시적으로 업데이트할 필요 없이 특정 데이터로 많은 수의 페이지를 업데이트하는 데 사용됩니다.

HTML 파일에서 Server Side Includes SSI는 기본적으로 비활성화되어 있습니다. SSI를 활성화하려면 다음 코드를 .htaccess 파일에 추가하십시오:

위의 줄은 먼저 다음 파일을 검증합니다: .shtml 파일. 그런 다음 확인이 다음 파일로 전송됩니다: .htaccess 파일로 전송되는 동시에 서버가 모든 다음 파일을 파싱할 수 있도록 허용합니다: .shtml 파일.

또는 다음을 사용할 수 있습니다: XBitHack (여러 개의 .html 콘텐츠를 파싱하기 위해, 매번 .shtml 확장자로 하나씩 이름을 바꾸는 대신). 다음 줄을 .htaccess 파일에 추가하여 XbitHAck을 사용하고 Apache가 모든 다음 파일을 확인하도록 요청하십시오: .html 파일:

다음으로, 페이지가 다음을 사용할 수 있는 권한을 부여하기 위해 권한을 변경해야 합니다: XBitHack. 이를 위해 다음 chmod 명령을 사용하십시오:

  1. IP 주소 관리

보안 목적으로 특정 IP 또는 IP 주소 범위의 사이트 방문을 차단하려는 경우가 있습니다. 대상 IP를 제한하려면 다음 코드 줄을 .htaccess 파일에 삽입하십시오:

둘 이상의 IP를 차단하려면 별도의 줄을 사용하십시오:

또한 웹사이트에 액세스하는 도메인을 차단할 수 있습니다. 다음 코드 줄을 .htaccess 파일에 추가하여 특정 도메인을 제한하십시오:

Order Deny, Allow Deny from www.blockdomain.com (여기서 www.blockdomain.com은 특정 도메인입니다)

.htaccess 사용 시 주의해야 할 점

웹사이트를 구성하고 사용자 친화적으로 만들기 위해 .htaccess 파일을 추가하는 것은 분명 현명한 조치입니다. 그러나 구성 설정에서 수정된 모든 사항에는 다른 비용이 수반됩니다. .htaccess 파일을 사용하지 말아야 하는 몇 가지 강력한 이유를 확인해 보겠습니다:

i. 성능 저하: 서버가 페이지 디렉터리와 해당 .htaccess 파일을 스캔할 때마다 페이지가 로드됩니다. 결과적으로 속도 및 성능 저하가 주요 우려 사항이 됩니다.

ii. 보안: .htaccess 파일에 액세스하면 서버 구성을 완전히 제어할 수 있습니다. 즉, 권한이 없는 사용자가 .htaccess 다음에 대한 접근 .htaccess 파일, 이는 결과적으로 잠재적인 보안 위험으로 이어질 수 있습니다..

iii. 접근성: .htaccess 파일은 극도의 주의를 기울여 다루어야 합니다. 만약 .htaccess 파일에 오류가 있으면 웹사이트 전체가 중단될 수 있습니다.

결론

이 가이드에서는 .htaccess 파일의 활성화, 생성 및 사용에 대한 포괄적인 개념을 알아보았습니다. 우리는 .htaccess 파일이 언제 어디서 사용되어야 하는지 그 사용 사례를 논의했습니다. 웹사이트를 안전하게 보호하고 공격으로부터 방어하기 위해 .htaccess 파일을 활용하십시오. 하지만 이 설정 파일을 사용할 때 간과해서는 안 될 몇 가지 함정이 있습니다. 요약하자면, .htaccess 파일을 서버의 사용량 및 사용자의 액세스 요구 사항에 따라 사용하십시오.

또한, 다른 네트워킹 튜토리얼을 저희 블로그에서 찾을 수 있습니다.:

author

Preslav Dobrev

작성자 · CloudSigma

Preslav Dobrev는 CloudSigma의 크리에이티브 디자이너로서, 전통적이고 혁신적인 마케팅 채널을 활용하여 일관된 비즈니스 정체성을 구축하는 데 중점을 두고 있습니다. 그는 영향력 있는 브랜드 내러티브를 창출하기 위해 예술적 비전과 전략적 마케팅을 결합하는 데 능숙합니다.

댓글

아직 댓글이 없습니다. 첫 번째로 작성해 보세요.