FastCGI 플러그인은 다음과 같은 서버 응용 프로그램 기능(SAF)을 제공합니다.
FastCGI SAF의 다양한 매개 변수와 "error-reason" 문자열에 대해서는 다음 절에서 설명합니다.
auth-fastcgi는 PatchCheck 기능입니다. 이 기능은 요청을 "인증자" FastCGI 응용 프로그램으로 전달하는 데 사용됩니다. 인증에 성공하면 반환 코드 200이 전송됩니다. 그렇지 않은 경우 "인증자" FastCGI 응용 프로그램의 응답이 사용자 에이전트로 돌아갑니다.
FastCGI 역할에 대한 자세한 내용은 http://www.fastcgi.com/devkit/doc/fcgi-spec.html#S6을 참조하십시오.
auth-fastcgi SAF에서 허용되는 매개 변수는 다음을 참조하십시오. FastCGI SAF 매개 변수.
다음 obj.conf 코드에서는 auth-fastcgi의 사용 예를 보여줍니다.
PathCheck fn="auth-fastcgi" app-path="/usr/bin/perl" app-args="/fastcgi/apps/auth/SimpleAuth.pl" bind-path="localhost:3432".
responder-fastcgi는 서비스 함수입니다. 이 함수는 "응답기"로 사용되는 FastCGI 응용 프로그램으로 요청을 전달하는 데 사용됩니다. 응답기 응용 프로그램의 응답은 사용자 에이전트로 돌아갑니다. FastCGI 역할에 대한 자세한 내용은 http://www.fastcgi.com/devkit/doc/fcgi-spec.html#S6을 참조하십시오.
responder-fastcgi SAF에서 허용되는 매개 변수의 목록은 다음을 참조하십시오. FastCGI SAF 매개 변수 .
다음 obj.conf 코드에서는 responder-fastcgi의 사용 예를 보여줍니다.
Service fn="responder-fastcgi" app-path="/fastcgi-enabled-php-installation/bin/php" bind-path="localhost:3433" app-env="PHP_FCGI_CHILDREN=8" app-env="PHP_FCGI_MAX_REQUEST=500".
filter-fastcgi는 서비스 함수입니다. 이 기능은 요청을 "필터" 유형의 FastCGI 응용 프로그램으로 전달하는 데 사용됩니다. "필터" 응용 프로그램은 HTTP 요청과 연결된 정보를 받으며 서버에 저장된 파일의 데이터도 받습니다. 그런 다음 "필터" 응용 프로그램은 응답으로 "필터링된" 버전의 데이터 스트림을 생성합니다. 이 스트림은 사용자 에이전트로 다시 전송됩니다. FastCGI 역할에 대한 자세한 내용은 http://www.fastcgi.com/devkit/doc/fcgi-spec.html#S6을 참조하십시오.
filter-fastcgi SAF에서 허용되는 매개 변수의 목록은 다음을 참조하십시오. FastCGI SAF 매개 변수 .
다음 obj.conf 코드에서는 filter-fastcgi의 사용 예를 보여줍니다.
Service fn="filter-fastcgi" app-path="/fastcgi/apps/filter/SimpleFilter" bind-path="localhost:3434" app-env="LD_LIBRARY_PATH=/fastcgi/fcgi-2.4/libfcgi/.libs" min-procs=2
error-fastcgi는 오류 함수입니다. error-fastcgi SAF는 FastCGI 플러그인의 오류를 처리합니다. 그러나 이 함수는 HTTP 오류를 처리하지 않습니다. 오류가 발생한 경우에는 특정 페이지를 표시하거나 요청을 특정 URL로 리디렉션하도록 FastCGI 플러그인을 구성할 수 있습니다.
error-fastcgi SAF에서 허용되는 매개 변수의 목록은 다음을 참조하십시오. FastCGI SAF 매개 변수.
다음 obj.conf 코드는 error-fastcgi의 사용 예를 보여줍니다.
Error fn="error-fastcgi" error-reason="Invalid Parameters" error-url="http://www.foo.com/errorPage.html"
error-fastcgi 매개 변수에 대한 자세한 내용은 FastCGI SAF 매개 변수를 참조하십시오.
SAF의 FastCGI 플러그인인 "auth-fastcgi", " responder-fastcgi" 및 "filter-fastcgi"는 따로 명시되지 않은 한 다음 매개 변수를 모두 허용합니다.
매개 변수 chroot, user, group 및 nice는 UNIX 플랫폼에서만 사용할 수 있습니다. Windows 플랫폼에서는 이런 매개 변수가 무시됩니다.
app-path - (선택 사항)요청을 처리하는 FastCGI 응용 프로그램 경로입니다. 이 기능은 다음과 같이 bind-path 매개 변수 값에 따라 결정됩니다.
플러그인은 app-path가 지정된 경우에만 플러그인에서 만든 UNIX 도메인 소켓을 수신하는 FastCGI 응용 프로그램을 만듭니다. 하지만 이 매개 변수는 UNIX 플랫폼에서만 허용됩니다. Windows에서는 오류 메시지가 기록됩니다.
app-path와 bind-path가 모두 지정된 경우 플러그인은 지정된 FastCGI 응용 프로그램 프로세스를 시작하고 지정된 bind-path에 바인드합니다.
bind-path만 지정된 경우에는 FastCGI 응용 프로그램이 원격에서 실행되는 것으로 간주됩니다. 따라서 플러그인은 FastCGI 응용 프로그램 프로세스를 시작하지 않습니다.
"app-path"와 "bind-path"가 모두 지정되지 않은 경우에는 플러그인에서 오류 메시지가 기록됩니다.
app-args — (선택 사항) FastCGI 응용 프로그램 프로세스에 인수로 전달되는 값입니다. 여러 개의 app-args 매개 변수가 허용됩니다. 여러 app-args 매개 변수를 사용할 때의 형식은 app-args="value" app-args="value" ..입니다.
bind-path - (선택 사항) Unix 도메인 소켓 이름이거나 "host:port" 형식일 수 있습니다. "app-path" 매개 변수 설명에서는 "bind-path" 매개 변수의 사용에 대해 설명합니다. Unix 도메인 소켓 이름은 UNIX 플랫폼에서만 사용할 수 있습니다. Windows 플랫폼에서는 bind-path를 "host:port"로 지정해야 합니다.
min-procs - (선택 사항) 만들어야 할 FastCGI 응용 프로그램 프로세스의 최소 수를 지정하는 정수입니다. 기본값은 1입니다.
max-procs - (선택 사항) 임의의 시점에 만들 수 있는 FastCGI 응용 프로그램 프로세스의 최대 수를 지정하는 정수입니다. 정수 값은 min-procs 값 이상이어야 합니다. 기본값은 1입니다.
chroot - (선택 사항) chroot FastCGI 서버 응용 프로그램 프로세스의 루트 디렉토리를 설정하는 데 사용됩니다. 기본값은 Web Server의 루트 디렉토리입니다.
user - (선택 사항) FastCGI 응용 프로그램 실행에 사용되는 사용자 아이디를 지정합니다. 기본값은 Web Server의 사용자 아이디입니다.
group - (선택 사항) 지정된 FastCGI 응용 프로그램은 지정된 그룹 아래에서 실행됩니다. 기본값은 Web Server의 그룹입니다.
nice - (선택 사항) FastCGI 응용 프로그램 프로세스의 nice/priority 값을 지정합니다.
listen-queue - (선택 사항) 소켓의 수신 대기열 크기를 지정하는 정수입니다. 이 매개 변수의 기본값은 256입니다.
app-env - (선택 사항) FastCGI 응용 프로그램 프로세스에 환경 변수로 전달되는 값 쌍입니다. 여러 개의 " app-env" 매개 변수가 허용됩니다. 여러 app-env 매개 변수를 사용할 때의 형식은 app-env="name=value" app-env="name=value"....입니다.
reuse-connection - (선택 사항) FastCGI 응용 프로그램에 대한 연결을 다시 사용할 것인지 여부를 결정하는 부울 값입니다. False(0, false, no)는 각 요청 뒤에 FastCGI 응용 프로그램에 대한 연결을 닫는 것을 나타냅니다. True(1, true, yes)는 새 요청에 기존 연결을 다시 사용하는 것을 나타냅니다. 기본값은 false입니다. connection-timeout을 참조하십시오.
connection-timeout - (선택 사항) "reuse-connection "이 True로 설정되어 있으면 이 값은 풀링된 연결의 시간 초과 값을 초 단위로 지정합니다. 연결이 지정된 시간 동안 유휴 상태이면 플러그인에서 연결을 닫습니다. 이 매개 변수의 기본값은 5초입니다. reuse-connection을 참조하십시오.
resp-timeout - (선택 사항) FastCGI 서버 응답 시간 초과 값을 초 단위로 나타내는 정수입니다. FastCGI 응용 프로그램에서 지정된 시간 내에 응답이 없는 경우에는 요청이 무시됩니다. 이 매개 변수의 기본값은 5분입니다.
restart-interval - (선택 사항) FastCGI 응용 프로그램이 다시 시작된 후 시간 간격(분)을 나타내는 정수입니다. 이 매개 변수의 기본값은 60분(1시간)입니다. 이 매개 변수 값을 0으로 설정하면 FastCGI 응용 프로그램을 강제로 다시 시작하지 않습니다.
req-retry - (선택 사항) FastCGI 응용 프로그램에서 요청을 거부한 경우에 플러그인이 요청을 다시 보내는 횟수를 나타내는 정수입니다. 이 매개 변수의 기본값은 0입니다.
error-fastcgi SAF(Server Application Function)에는 다음과 같은 매개 변수를 사용할 수 있습니다.
error-url - 장애나 오류가 발생한 경우에 표시할 페이지, URI 또는 URL을 지정합니다. 이 매개 변수 값에는 절대 경로, docroot를 기준으로 한 상대 경로 또는 URL이나 URI를 사용할 수 있습니다.
error-reason - (선택 사항) FastCGI 프로토콜 오류를 나타내는 문자열입니다. 이 문자열은 플러그인 오류가 발생한 경우에 표시할 오류 URL을 구분하는 데 사용됩니다.
이 절에서는 모든 유효한 "error-reason" 문자열의 목록과 해당 설명을 제시합니다.
"Missing or Invalid Config Parameters" : app-path 및 bind-path가 지정되지 않았습니다.
"Stub Start Error" : Fastcgisub 프로세스를 시작하지 못했습니다.
"Stub Connection Failure" : Fastcgistub에 연결할 수 없습니다.
"No Permission" : FastCGI 응용 프로그램 또는 Fastcgisub에 실행 권한이 없습니다.
"Stub Request Handling Error" : 요청을 스텁으로 보낼 수 없거나, 요청의 스텁에서 잘못된 응답을 받았거나, 응답이 없는 경우 등을 나타냅니다.
"Set Parameter Failure" : 설정된 사용자, 그룹, chroot, nice 등이 실패했습니다.
"Invalid user and/or group" : 사용자 또는 그룹이 유효하지 않습니다.
"Server Process Creation Failure" : FastCGI 응용 프로그램 실행 장애가 발생했거나 FastCGI 응용 프로그램을 지정된 주소에 바인드할 수 없습니다.
"Fastcgi Protocol Error” : FastCGI 응용 프로그램에 FastCGI 버전 또는 역할이 잘못된 헤더가 포함되어 있습니다.
"Internal Error" : 필터 응용 프로그램으로 보낼 파일을 열 수 없거나 기타 알 수 없는 오류가 발생했습니다.