1. 程式人生 > >案例:配置apache和nginx的SSL加密傳輸協議

案例:配置apache和nginx的SSL加密傳輸協議

開發十年,就只剩下這套架構體系了! >>>   

一、SSI解釋

SSI是一種類似於ASP的基於伺服器的網頁製作技術。將內容傳送到瀏覽器之前,可以使用“伺服器端包含 (SSI)”指令將文字、圖形或應用程式資訊包含到網頁中。例如,可以使用 SSI 包含時間/日期戳、版權宣告或供客戶填寫並返回的表單。對於在多個檔案中重複出現的文字或圖形,使用包含檔案是一種簡便的方法。將內容存入一個包含檔案中即可,而不必將內容輸入所有檔案。通過一個非常簡單的語句即可呼叫包含檔案,此語句指示 Web 伺服器將內容插入適當網頁。而且,使用包含檔案時,對內容的所有更改只需在一個地方就能完成。

因為包含 SSI 指令的檔案要求特殊處理,所以必須為所有 SSI 檔案賦予 SSI副檔名。預設副檔名是 .stm、.shtm 和 .shtml

二. apache配置
修改Apache配置檔案httpd.conf
#確認載入include.so模組,將註釋去掉:
LoadModule include_module libexec/apache2/mod_include.so

#AddType部分去掉這兩段註釋:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

#Directory目錄許可權裡面找到
Options Indexes FollowSymLinks
#增加Includes修改為:
Options Indexes FollowSymLinks Includes
重新啟動Apache
apachectl server restart
二. nginx配置置 ssi 指令
語法:ssi [ on | off ]
預設值:ssi off
配置段段:http, server, location, if
啟用SSI處理。

注意如果啟用SSI,那麼Last-Modified頭和Content-Length頭不會傳遞。

ssi_silent_errors 指令
語法:ssi_silent_errors [on|off]
預設值:ssi_silent_errors off
配置段:http, server, location

如果在處理SSI的過程中出現“[an error occurred while processing the directive]”錯誤,禁止將其輸出。

ssi_types 指令
語法:ssi_types mime-type [mime-type …]
預設值:ssi_types text/html
配置段:http, server, location

預設只解析text/html型別,這個引數可以指定其他的MIME型別

ssi_value_length
語法:ssi_value_length length
預設值:ssi_value_length 256
配置段:http, server, location

定義允許SSI使用的引數值的長度。

在nginx下做如下設定,在http段新增:

ssi on;
ssi_silent_errors off;
ssi_value_length 1024;
ssi_types text/shtml;
location / {
    ssi on;
    ssi_silent_errors off;
    ssi_value_length 1024;
    ssi_types text/shtml;
}
location ~* \.shtml$ {
    ssi on;
    ssi_silent_errors off;
    ssi_value_length 1024;
    ssi_t