웹사이트 검색

Linux에서 Apache 403 금지 오류를 수정하는 방법


Apache 웹 서버는 안정성과 신뢰성 덕분에 가장 인기 있고 널리 사용되는 오픈 소스 웹 서버 중 하나입니다. 웹 서버는 특히 웹 호스팅 플랫폼에서 거대한 시장을 장악하고 있습니다.

그러나 웹사이트를 설정한 후 브라우저에 "금지됨 - 이 서버에 대한 액세스 권한이 없습니다" 오류가 나타날 수 있습니다. 이는 매우 일반적인 오류이며 상당수의 사용자가 사이트를 테스트하는 동안 이 오류를 경험했습니다. 그렇다면 이 오류는 무엇입니까?

403 금지 오류란 무엇입니까?

403 금지 오류라고도 하는 Apache의 '금지 오류'는 제한되거나 금지된 웹 사이트에 액세스하려고 할 때 웹 페이지에 표시되는 오류입니다. .

웹 서버가 요청을 이해하지만 권한 문제로 인해 액세스를 승인할 수 없음을 나타내는 표준화된 HTTP 상태 코드입니다.

일반적으로 그림과 같이 브라우저에 표시됩니다.

또한 오류는 아래와 같이 브라우저에서 여러 가지 방식으로 나타날 수 있습니다.

  • HTTP 오류 403 – 금지됨
  • 금지됨: 이 서버의 [디렉터리]에 액세스할 수 있는 권한이 없습니다.
  • 403 금지
  • 접근이 거부되었습니다. 접근 권한이 없습니다.
  • 403 금지된 요청은 관리 규칙에 따라 금지됩니다.

403 금지 오류의 원인은 무엇입니까?

'403 금지 오류'는 다음과 같은 주요 원인으로 인해 발생합니다.

1. 잘못된 파일/디렉터리 권한

이 오류는 웹루트 디렉터리에 대한 잘못된 파일/폴더 권한으로 인해 발생할 수 있습니다. 사용자에게 웹 사이트 파일에 대한 액세스 권한을 부여하도록 기본 파일 권한이 조정되지 않은 경우 웹 브라우저에서 이 오류가 나타날 가능성이 높습니다.

2. Apache 구성 파일의 잘못된 구성

이 오류는 Apache 구성 파일 중 하나의 잘못된 구성으로 인해 발생할 수도 있습니다. 구성 파일에 지시문이 포함되었거나 누락된 잘못된 매개변수일 수 있습니다.

3. .htaccess 파일의 잘못된 구성

이 HTTP 응답 코드가 자주 나타나는 또 다른 이유는 .htaccess 파일이 손상되었거나 잘못 구성되었기 때문입니다. 이런 일이 발생하면 일반적으로 .htaccess 파일을 수정한 후 403 Forbidden 오류가 나타납니다.

일반적으로 사용자는 새 .htaccess 파일을 생성하거나 해당 구성을 수정하여 이 문제를 해결할 수 있습니다.

Apache '403 금지 오류' 수정

이 오류가 발생한 경우 이를 해결하기 위해 취할 수 있는 몇 가지 단계는 다음과 같습니다.

1. Webroot 디렉토리의 파일 권한 및 소유권 조정

잘못된 파일 권한 및 디렉터리 소유권은 웹사이트 파일에 대한 액세스를 제한하는 것으로 알려져 있습니다. 따라서 먼저 표시된 대로 파일 권한을 webroot 디렉터리에 재귀적으로 할당해야 합니다.

웹루트 디렉토리에는 항상 EXECUTE 권한이 있어야 하며 index.html 파일에는 READ 권한이 있어야 합니다.

cd /path/to/webroot/directory 
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;

위의 find 명령은 현재 디렉터리 (.) 내의 모든 디렉터리(폴더)와 파일을 찾고 해당 권한을 755(디렉터리) 및 644로 설정하는 데 사용됩니다. (파일).

또한 표시된 대로 chown 명령을 사용하여 파일 및 디렉터리의 소유권을 특정 사용자(tecmint) 및 그룹 www-data 또는 apache로 조정합니다. .

sudo chown -R tecmint:apache .

마지막으로 변경 사항을 적용하려면 Apache 웹 서버를 다시 로드하거나 다시 시작하세요.

sudo systemctl restart apache2
OR
sudo systemctl restart httpd

그래도 문제가 해결되지 않으면 다음 단계를 진행하세요.

2. Apache 기본 구성 파일에서 지시어 조정

Debian 기반 Linux 또는 RHEL 기반 배포판을 사용하는 경우 일반적으로 httpd.conf 또는 apache2.conf라는 이름의 기본 Apache 구성 파일을 엽니다.

sudo nano /etc/httpd/httpd.conf       # For Apache on CentOS/Red Hat
sudo nano /etc/apache2/apache2.conf   # For Apache on Debian/Ubuntu

웹 사이트의 웹 문서 루트에 해당하는 섹션을 찾고 AllowOverride 지시어가 "All"로 설정되어 있는지 확인하세요. . 이를 통해 .htaccess 파일이 구성 설정을 재정의할 수 있습니다.

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

웹사이트 문서 루트의 실제 경로와 일치하도록 /var/www/html 경로를 바꾸세요.

저장하고 종료한 후 Apache를 다시 시작하십시오.

sudo systemctl restart httpd     # For Apache on CentOS/Red Hat
sudo systemctl restart apache2   # For Apache on Debian/Ubuntu

. .htaccess 파일 구성 수정

웹 디렉토리에 .htaccess 파일이 있으면 해당 구성을 확인하세요. 잘못 구성된 구성 설정이나 구문 오류로 인해 사용자가 특정 웹 콘텐츠에 액세스하지 못할 수 있습니다.

행을 주석 처리하거나 파일을 일시적으로 제거하여 문제가 해결되는지 확인하십시오.

이러한 모든 단계를 시도한 후에도 여전히 오류가 발생하는 경우 가상 호스트 파일의 구성을 확인하십시오.

Apache 가상 호스트 파일을 구성하는 방법에 대한 자세한 기사가 있습니다.

"금지됨 - 이 서버에 대한 액세스 권한이 없습니다." 오류를 해결하려면 파일 권한, 소유권 및 서버 구성을 확인하고 조정해야 합니다.

제공된 단계가 403 오류를 해결하는 데 도움이 되었기를 바랍니다.