FastCgiAccessChecker 指引可用來將 FastCGI 應用程式定義為每一目錄存取的驗證程式。 Apache Access 階段發生於使用者鑑別之前, 因此,對於容許 (或不容許) 存取所要求的資源, 這項決定是基於隨該要求送出的 HTTP 標頭。當存取驗證決策涉及動態因素時,例如,日期時間或網域帳戶是否更新,以 FastCGI 為基礎的授權程式就非常有用。
若 FastCGI 應用程式檔名不具有對應的靜態或外部伺服器定義, 則當做動態 FastCGI 應用程式來啟動。 若檔名開頭不是斜線 (/),則假設為相對於 ServerRoot。
FastCgiAccessChecker 使用於目錄
或位置
配置區。
<Directory htdocs/protected>
FastCgiAccessChecker fcgi-bin/access-checker
</Directory>
mod_fastcgi 可傳送一般可用的全部 (幾乎) 標準環境變數到 CGI/FastCGI 要求操縱器。在成功回應中 (狀態:200),由 FastCGI 存取檢查程式所傳回的所有標頭,皆當做環境變數傳送到子處理程序 (CGI/FastCGI 呼叫)。 在失敗回應中傳回的所有標頭, 則傳送到從屬站。FastCGI 規格相容行為可以透過 "-compat" 選項來取得。
mod_fastcgi 將環境變數 "FCGI_APACHE_ROLE" 設定為 "ACCESS_CHECKER", 指出要執行的授權程式階段 (Apache 專用)。
來自 FastCGI 授權應用程式的自訂失敗回應不被支援。 如果要閱讀實例,請參閱 ErrorDocument 指引 (FastCGI 應用程式可提供此文件)。
明確地將 FastCgiAccessCheckerAuthoritative 指引設定為 Off, 可在 FastCGI 應用程式無法容許存取時,讓存取檢查跳到較低層次的模組 (定義於配置檔和 modules.c 檔案中)。
依預設值,不會跳過控制權,且失敗的存取檢查將產生一個「禁止」回覆。
要停用預設值之前應該考慮清楚。
FastCgiAuthenticator 指引用來將 FastCGI 應用程式定義為每一目錄的驗證程式。 驗證程式將已提供的使用者名稱和密碼,比對已知的使用者名稱和密碼清單或資料庫,以驗證要求端的真正身份。當使用者資料庫在現存獨立的程式中維護時,或位於 Web 伺服器以外的機器上,以 FastCGI 為基礎的鑑別程式就非常有用。
若 FastCGI 應用程式檔名不具有對應的靜態或外部伺服器定義, 則當做動態 FastCGI 應用程式來啟動。 若檔名開頭不是斜線 (/),則假設為相對於 ServerRoot。
FastCgiAuthenticator 使用於目錄或位置配置區中, 且必須包含一個 AuthType 和 AuthName 指引。僅支援 Basic 使用者鑑別類型。 它必須搭配一個 require 或 FastCgiAuthorizer 指引,才能正確運作。
<Directory htdocs/protected>
AuthType Basic
AuthName ProtectedRealm
FastCgiAuthenticator fcgi-bin/authenticator
require valid-user
</Directory>
mod_fastcgi
可傳送一般可用的全部 (幾乎) 標準環境變數到
CGI/FastCGI 要求操縱器。
在成功回應中 (狀態:200),由 FastCGI 鑑別應用程式所傳回的所有標頭,
皆當做環境變數傳送到子處理程序 (CGI/FastCGI 呼叫)。在失敗回應中傳回的所有標頭,
則傳送到從屬站。FastCGI 規格相容行為可以透過 "-compat
"
選項來取得。
Mod_fastcgi
將環境變數 "FCGI_APACHE_ROLE"
設定為 "AUTHENTICATOR",指出要執行的授權程式階段 (Apache 專用)。
來自 FastCGI 授權應用程式的自訂失敗回應不被支援。如果要閱讀實例, 請參閱 ErrorDocument 指引 (FastCGI 應用程式可提供此文件)。
明確地將 FastCgiAuthenticatorAuthoritative
指引設定為 Off,
可在 FasCGI 應用程式無法鑑別使用者時,讓鑑別跳到較低層次的模組
(定義於配置
檔和 modules.c
檔案中)。
常用方法是結合一個受到充分保護的 AuthUserFile
,
其中含有少數 (和管理相關的) 使用者。
依預設值,不會跳過控制,不明使用者將產生一個「需要授權」回覆。 要停用預設值之前應考慮清楚。
FastCgiAuthorizer
您可以使用指引來定義一個 FastCGI 應用程式,
如各個目錄的授權機構。 授權機構驗證授權的使用者,其對所要求的資源的存取權限。
存取驗證決策涉及動態因素時,例如,日期時間或網域帳戶是否更新,以 FastCGI 為基礎的授權程式就非常有用。
若 FastCGI 應用程式檔名不具有對應的靜態或外部伺服器定義, 則當做動態 FastCGI 應用程式來啟動。若檔名開頭不是斜線 (/),則假設為相對於 ServerRoot。
FastCgiAuthorizer
使用於 目錄
或位置
配置區中,
且必須包含一個 AuthType 和 AuthName 指引。它必須搭配一個 authentication 或
FastCgiAuthorizer 指引,如 FastCgiAuthenticator, AuthUserFile, AuthDBUserFile 或 AuthDBMUserFile,
才能正確運作。
<Directory htdocs/protected>
AuthType Basic
AuthName ProtectedRealm
AuthDBMUserFile conf/authentication-database
FastCgiAuthorizer fcgi-bin/authorizer
</Directory>
mod_fastcgi
可傳送一般可用的全部 (幾乎) 標準環境變數到
CGI/FastCGI 要求操縱器。在成功回應中 (狀態:200),由 FastCGI 鑑別應用程式所傳回的所有標頭,
皆當做環境變數傳送到子處理程序 (CGI/FastCGI 呼叫)。在失敗回應中傳回的所有標頭,
則傳送到從屬站。FastCGI 規格相容行為可經由
"-compat
" 選項來取得。
Mod_fastcgi
將環境變數 "FCGI_APACHE_ROLE"
設定為 "AUTHORIZER" 指出要執行的授權程式階段 (Apache 專用)。
不支援 FastCGI 授權應用程式的自訂失敗回應。 如果要閱讀實例,請參閱 ErrorDocument 指引 (FastCGI 應用程式可提供此文件)。
明確地將 FastCgiAuthenticatorAuthoritative
指引設定為 Off,
可在 FasCGI 應用程式無法鑑別使用者時,讓鑑別跳到較低層次的模組
(定義於配置
檔和 modules.c
檔案中)。
常用方法是結合一個受到充分保護的 AuthUserFile
,
其中含有少數 (和管理相關的) 使用者。
依預設值,不會跳過控制,不明使用者將產生一個「需要授權」回覆。 要停用預設值之前應考慮清楚。
FastCgiConfig
指引定義全部動態 FastCGI 應用程式的預設參數。此指引絕不影響靜態或外部應用程式。
動態應用程式不在伺服器起始設定時啟動,而是依需求來啟動。 若需求很大,則啟動其它應用程式實例。隨著需求降低, 應用程式實例就逐漸減少。許多選項可支配此程序。
選項包括下列其中一個 (不區分大小寫):
appConnTimeout n (0 秒)
connect()
。
若逾時到期,則產生一個 SERVER_ERROR。
對於非零值,這表示花費在 select()
的時間量,
目的是為了寫入到非暫停執行的 connect()
所傳回的檔案描述子。在許多平台上,非暫停執行的 connect()
有些麻煩。
亦請參閱 -idle-timeout,該選項產生類似的結果,
但更具有可攜性。idle-timeout n (30 秒)
error
LogLevel
),
容許 FastCGI 應用程式停用的秒數。
不活動計時器僅適用於 FastCGI 應用程式的連接擱置時。
若應用程式的佇列中有一個要求,但應用程式未於此期間內回應
(經由寫入和沖寫),則將中止要求。若完成應用程式的通信,
但和從屬站的通信未完成 (回應進入緩衝),則不適用逾時。
autoUpdate none
-restart
時,可能會發生一個未解決的問題(錯誤(。gainValue n (0.5)
gainValue
) 來調整,因此,
此調整式愈小,舊的值相對於現行值(由 gainValue
調整)的加權值就愈大。initial-env name[=value]
none
init-start-delay n (1
秒)
killInterval n (300 秒)
listen-queue-depth n (100)
maxClassProcesses n (10)
maxProcesses n (50)
minProcesses n (5)
multiThreshhold n (50)
singleThreshhold
來代替。
pass-header header none
priority n (0)
setpriority()
)。
processSlack n(5 秒)
maxProcesses
- processSlack
,處理管理系統會呼叫結束策略。
這可在達到 maxProcesses
之前,結束一些不活動的應用程式,增進高載入量的效能。restart none
restart-delay n(5 秒)
singleThreshhold n (0)
startDelay n (3 秒)
startDelay
必須小於 appConnTimeout
才有效。updateInterval n (300 秒)
appConnTimeout n (0 秒)
connect()
。
若逾時到期,則產生一個 SERVER_ERROR。
對於非零值,這表示花費在 select()
的時間量,
目的是為了寫入到非暫停執行的 connect()
所傳回的檔案描述子。在許多平台上,非暫停執行的 connect()
有些麻煩。
亦請參閱 -idle-timeout,該選項產生類似的結果,
但更具有可攜性。idle-timeout n (30 秒)
error
LogLevel
),
容許 FastCGI 應用程式停用的秒數。
不活動計時器僅適用於 FastCGI 應用程式的連接擱置時。
若應用程式的佇列中有一個要求,但應用程式未於此期間內回應
(經由寫入和沖寫),則將中止要求。若完成應用程式的通信,
但和從屬站的通信未完成 (回應進入緩衝),則不適用逾時。
flush none
mod_fastcgi
將資料放入緩衝區內,
以便儘快地釋放應用程式。host hostname:port none
-socket
與 -host
選項互斥。
Pass-header header none
socket filename none
FastCgiIpcDir
。
-socket
和 -port
兩個選項互斥。
UNIX: FastCgiIpcDir
指引指定目錄,用來儲存及尋找 (以外部 FastCGI 應用程式而言) 應用程式和 Web
伺服器之間通信時所用的 UNIX Socket 檔案。
若目錄的開頭不是斜線 (/),則假設為相對於
ServerRoot。
若目錄不存在,則嘗試以適當的許可權建立目錄。
請勿指定一個不在本端檔案系統上的目錄。
如果您使用預設目錄 (或 /tmp
內的另一個目錄),
當您的系統定期地刪除 /tmp
中的檔案時,
mod_fastcgi
將中斷執行。
Windows NT: FastCgiIpcDir 指引指定名稱,做為應用程式和 Web 伺服器之間通信時所用之具名管線的根。 名稱的格式必須為 \\.\pipe\pipename 。pipename 部份可包含反斜線以外的任何字元。
FastCgiIpcDir
指引必須放在任何 FastCgiServer
或 FastCgiExternalServer
指引之前
(使用 UNIX socket)。目錄必須可被 Web 伺服器讀取、寫入及執行
(搜尋),但不能被其他人存取。
FastCgiServer
指引將檔名定義為靜態
FastCGI 應用程式。若檔名的開頭不是斜線 (/),
則假設為相對於 ServerRoot。
依預設值,「處理管理系統」將使用下列指定的預設配置 (在括弧中)
啟動應用程式的一個實例。若一個靜態應用程式實例消滅了,
mod_fastcgi
將產生另一個實例來代替,
並且記載此事件 (在 warn LogLevel
)>
選項包括下列其中一個 (不區分大小寫):
appConnTimeoutn (0 秒)
connect()
。
若逾時到期,則產生一個 SERVER_ERROR。
對於非零值,這表示花費在 select()
的時間量,
目的是為了寫入到非暫停執行的 connect()
所傳回的檔案描述子。在許多平台上,非暫停執行的 connect()
有些麻煩。
亦請參閱 -idle-timeout,該選項產生類似的結果,
但更具有可攜性。idle-timeout n (30 秒)
error
LogLevel
),
容許 FastCGI 應用程式停用的秒數。
不活動計時器僅適用於 FastCGI 應用程式的連接擱置時。
若應用程式的佇列中有一個要求,但應用程式未於此期間內回應
(經由寫入和沖寫),則將中止要求。若完成應用程式的通信,
但和從屬站的通信未完成 (回應進入緩衝),則不適用逾時。
initial-env name[=value] none]
none
init-start-delay n(1秒)
Flush none
mod_fastcgi
將資料放入緩衝區內,
以便儘快地釋放應用程式。Listen-queue-depth n (100)
Pass-header header none
processes n (1)
Priority n (0)
setpriority()
)。
port n none
-socket
和 -port
兩個選項互斥。
Restart-delay n (5 秒)
Socket filename (gen'd)
FastCgiIpcDir
所指定的目錄中建立 Socket。
此選項讓應用程式可被相同機器上的其它應用程式
(例如,cgi-fcgi
)存取,或透過外部 FastCGI 應用程式定義來存取
(FastCgiExternalServer
)。
若不提供 -socket
或 -port
選項,
該模組會產生一個 UNIX 網域 socket 檔名。-socket
和 -port
兩個選項互斥。
FastCgiSuexec
指引是用來啟用 suexec-wrapper 的支援。
FastCgiSuexec
需要在 Apache 啟用 suexec (用於 CGI)。
如果要使用 Apache 所用的相同 suexec-wrapper,請將 FastCgiSuexec
設定為 On。如果要使用不同的 suexec-wrapper,請指定 suexec-wrapper
的檔名。若檔名開頭不是斜線 (/),
則假設為相對於 ServerRoot。
若啟用 FastCgiSuexec
,靜態或外部
FastCGI 應用程式定義的位置非常重要。這些定義從虛擬伺服器中的
User
和 Group
指引來繼承使用者和群組。
User
和 Group
指引應該放在 FastCGI 應用程式定義之前。請注意,
這不會限制虛擬伺服器上的 FastCGI 應用程式,
應用程式可以服務來自任何虛擬伺服器的要求 (由相同使用者和群組所提出)。
若接收到一個對於 FastCGI 應用程式的要求,
其中沒有正確使用者和群組的相符定義,則將以正確的使用者和群組啟動應用程式的一個動態實例。
這會導致許多個相同的應用程式以不同的使用者/群組執行。
若這樣產生問題,請防止從其它虛擬伺服器來瀏覽應用程式,
或以相同的 User 和 Group 來配置虛擬伺服器。
關於 suexec 的詳細資訊,請參閱 Apache 文件 (確定您充份瞭解安全性的意義)。