운영 및 유지보수 Apache Apache 서버는 어떻게 CGI 실행을 활성화합니까?

Apache 서버는 어떻게 CGI 실행을 활성화합니까?

Nov 30, 2019 am 11:30 AM
apache

CGI(Common Gateway Interface)는 웹 서버가 CGI 프로그램 또는 CGI 스크립트라고 불리는 외부 콘텐츠 생성 프로그램과 상호 작용하는 방식을 정의합니다. 가장 익숙한 프로그래밍 언어를 사용하여 웹사이트에 동적 콘텐츠를 추가하는 간단한 방법입니다.

Apache 서버는 어떻게 CGI 실행을 활성화합니까?

CGI를 허용하도록 Apache 구성

CGI 프로그램이 제대로 작동하려면 Apache에서 CGI 실행을 허용하도록 구성해야 합니다. 이를 수행하는 방법에는 여러 가지가 있습니다.

방법 1: ScriptAlias ​​지시어                 (권장 학습: Apache 서버 )

ScriptAlias ​​지시어는 Apache에게 CGI 프로그램을 위한 특정 디렉토리를 따로 설정하라고 지시합니다. Apache는 이 디렉터리의 모든 파일이 CGI 프로그램이라고 가정하고 클라이언트가 특정 리소스를 요청할 때 이를 실행하려고 시도합니다.

ScriptAlias ​​​​지시문은 다음과 같습니다.

ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
로그인 후 복사

Apache가 기본 위치에 설치된 경우 표시된 예는 기본 httpd.conf 구성 파일에서 찾을 수 있습니다.

ScriptAlias ​​지시문은 특정 디렉터리에 매핑되는 URL 접두어를 정의한다는 점에서 Alias ​​지시문과 매우 유사합니다. Alias ​​및 ScriptAlias는 일반적으로 DocumentRoot 디렉터리 외부의 디렉터리에서 사용됩니다.

Alias와 ScriptAlias의 차이점은 ScriptAlias에는 해당 URL 접두사 아래의 모든 항목이 CGI 프로그램으로 처리된다는 추가 의미가 있다는 것입니다.

그래서 위의 예는 Apache에게 /cgi-bin/으로 시작하는 리소스에 대한 모든 요청은 /usr/local/apache2/cgi-bin/ 디렉터리에서 제공되어야 하며 CGI 프로그램으로 처리되어야 함을 알려줍니다.

예를 들어, http://www.example.com/cgi-bin/test.pl URL이 요청되면 Apache는 /usr/local/apache2/cgi-bin/test.pl 파일을 실행하려고 시도하고 출력을 반환합니다. 물론 파일이 존재하고 실행 가능해야 하며 특정 방식으로 출력을 반환해야 합니다. 그렇지 않으면 Apache가 오류 메시지를 반환합니다.

방법 2: ScriptAlias ​​디렉토리 외부의 CGI

보안상의 이유로 CGI 프로그램은 일반적으로 ScriptAlias ​​디렉토리로 제한됩니다. 이런 방식으로 관리자는 CGI 프로그램을 사용할 수 있는 사람을 엄격하게 제어할 수 있습니다. 그러나 적절한 보안 예방 조치를 취하면 CGI 프로그램을 임의의 디렉터리에서 실행할 수 없는 이유가 없습니다.

예를 들어, UserDir 지시어를 사용하여 사용자가 홈 디렉터리에 웹 콘텐츠를 가질 수 있도록 할 수 있습니다. 자신만의 CGI 프로그램을 갖고 싶지만 기본 cgi-bin 디렉토리에 액세스할 수 없다면 다른 곳에서 CGI 프로그램을 실행할 수 있어야 합니다.

모든 디렉터리에서 CGI 실행을 허용하려면 두 단계가 있습니다. 먼저, AddHandler 또는 SetHandler 지시문을 사용하여 cgi-script 처리기를 활성화해야 합니다. 둘째, ExecCGI는 Options 지시문에 지정되어야 합니다.

방법 3: 옵션을 사용하여 CGI 실행 허용

기본 서버 구성 파일의 옵션 지시어를 명시적으로 사용하여 특정 디렉터리에서 CGI 실행이 허용되도록 지정할 수 있습니다.

<Directory "/usr/local/apache2/htdocs/somedir">
    Options +ExecCGI
</Directory>
로그인 후 복사

위 지시어는 Apache에게 알립니다. CGI 파일 실행을 허용합니다. 또한 어떤 파일이 CGI 파일인지 서버에 알려주어야 합니다. 다음 AddHandler 지시문은 cgi 또는 pl 확장자를 가진 모든 파일을 CGI 프로그램으로 처리하도록 서버에 지시합니다.

AddHandler cgi-script .cgi .pl
로그인 후 복사

방법 4: 사용자 디렉터리

사용자 디렉터리에서 .cgi로 끝나는 모든 파일이 CGI 프로그램을 실행할 수 있도록 허용하려면, 다음 구성을 사용할 수 있습니다.

<Directory "/home/*/public_html">
    Options +ExecCGI
    AddHandler cgi-script .cgi
</Directory>
로그인 후 복사

모든 것이 CGI 프로그램으로 처리될 사용자 디렉토리의 cgi-bin 하위 디렉토리를 지정하려면 다음 명령을 사용할 수 있습니다.

아아아아

위 내용은 Apache 서버는 어떻게 CGI 실행을 활성화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

H5 프로젝트를 실행하는 방법 H5 프로젝트를 실행하는 방법 Apr 06, 2025 pm 12:21 PM

H5 프로젝트를 실행하려면 다음 단계가 필요합니다. Web Server, Node.js, 개발 도구 등과 같은 필요한 도구 설치. 개발 환경 구축, 프로젝트 폴더 작성, 프로젝트 초기화 및 코드 작성. 개발 서버를 시작하고 명령 줄을 사용하여 명령을 실행하십시오. 브라우저에서 프로젝트를 미리보고 개발 서버 URL을 입력하십시오. 프로젝트 게시, 코드 최적화, 프로젝트 배포 및 웹 서버 구성을 설정하십시오.

부트 스트랩 테이블을 풀기 위해 서버 측에서 문자 인코딩을 설정하는 방법 부트 스트랩 테이블을 풀기 위해 서버 측에서 문자 인코딩을 설정하는 방법 Apr 07, 2025 pm 12:00 PM

서버 측에서 문자 인코딩을 설정하려면 Bridble Bootstrap 테이블을 해결하려면 다음 단계를 따라야합니다. 서버 문자 인코딩을 확인하십시오. 서버 구성 파일 편집; 인코딩을 UTF-8로 설정하십시오. 서버를 저장하고 다시 시작합니다. 인코딩을 확인하십시오.

Apache에서 CGI 디렉토리를 설정하는 방법 Apache에서 CGI 디렉토리를 설정하는 방법 Apr 13, 2025 pm 01:18 PM

Apache에서 CGI 디렉토리를 설정하려면 다음 단계를 수행해야합니다. "CGI-BIN"과 같은 CGI 디렉토리를 작성하고 Apache 쓰기 권한을 부여하십시오. Apache 구성 파일에 "Scriptalias"지시록 블록을 추가하여 CGI 디렉토리를 "/cgi-bin"URL에 매핑하십시오. Apache를 다시 시작하십시오.

아파치를 시작하는 방법 아파치를 시작하는 방법 Apr 13, 2025 pm 01:06 PM

Apache를 시작하는 단계는 다음과 같습니다. Apache 설치 (명령 : Sudo apt-get Apache2를 설치하거나 공식 웹 사이트에서 다운로드) 시작 apache (linux : sudo systemctl start : windes (선택 사항, Linux : Sudo SystemCtl

Debian OpenSSL 구성을 확인하는 방법 Debian OpenSSL 구성을 확인하는 방법 Apr 12, 2025 pm 11:57 PM

이 기사는 데비안 시스템의 OpenSSL 구성을 확인하여 시스템의 보안 상태를 신속하게 파악하는 데 도움이되는 몇 가지 방법을 소개합니다. 1. OpenSSL 버전을 먼저 확인하고 OpenSSL이 설치되었는지 확인 및 버전 정보를 확인하십시오. 터미널에 다음 명령을 입력하십시오. OpenSSLVERSION이 설치되지 않으면 시스템에 오류가 발생합니다. 2. 구성 파일을 봅니다. OpenSSL의 기본 구성 파일은 일반적으로 /etc/ssl/openssl.cnf에 있습니다. 텍스트 편집기 (예 : Nano)를 사용하여 Sudonano/etc/ssl/openssl.cnf이 파일에는 키, 인증서 경로 및 암호화 알고리즘과 같은 중요한 구성 정보가 포함되어 있습니다. 3. Ope를 활용하십시오

웹 사이트 성과를 향상시키기 위해 Debian Apache Logs를 사용하는 방법 웹 사이트 성과를 향상시키기 위해 Debian Apache Logs를 사용하는 방법 Apr 12, 2025 pm 11:36 PM

이 기사는 데비안 시스템에서 Apache Logs를 분석하여 웹 사이트 성능을 향상시키는 방법을 설명합니다. 1. 로그 분석 기본 사항 Apache Log는 IP 주소, 타임 스탬프, 요청 URL, HTTP 메소드 및 응답 코드를 포함한 모든 HTTP 요청의 자세한 정보를 기록합니다. 데비안 시스템 에서이 로그는 일반적으로 /var/log/apache2/access.log 및 /var/log/apache2/error.log 디렉토리에 있습니다. 로그 구조를 이해하는 것은 효과적인 분석의 첫 번째 단계입니다. 2. 로그 분석 도구 다양한 도구를 사용하여 Apache 로그를 분석 할 수 있습니다.

Apache의 서버 이름 이상을 삭제하는 방법 Apache의 서버 이름 이상을 삭제하는 방법 Apr 13, 2025 pm 01:09 PM

Apache에서 추가 ServerName 지시문을 삭제하려면 다음 단계를 수행 할 수 있습니다. 추가 ServerName Directive를 식별하고 삭제하십시오. Apache를 다시 시작하여 변경 사항이 적용됩니다. 구성 파일을 확인하여 변경 사항을 확인하십시오. 서버를 테스트하여 문제가 해결되었는지 확인하십시오.

Apache의 데이터베이스에 연결하는 방법 Apache의 데이터베이스에 연결하는 방법 Apr 13, 2025 pm 01:03 PM

Apache는 데이터베이스에 연결하여 다음 단계가 필요합니다. 데이터베이스 드라이버 설치. 연결 풀을 만들려면 Web.xml 파일을 구성하십시오. JDBC 데이터 소스를 작성하고 연결 설정을 지정하십시오. JDBC API를 사용하여 Connections, 명세서 작성, 매개 변수 바인딩, 쿼리 또는 업데이트 실행 및 처리를 포함하여 Java 코드의 데이터베이스에 액세스하십시오.

See all articles