Apache-2.4

為什麼 Apache 使用 mod_fastcgi 為 PHP FPM 設置 Content-Language 標頭?

  • October 11, 2017

PHP FPM 與 Apache 和 mod_fastcgi 結合使用時,我遇到了一個非常奇怪的問題。每當請求 PHP 文件時,Apache 都會添加Content-Language: de到響應標頭中。對於我的生活,我無法弄清楚為什麼會這樣!我使用的是 Ubuntu 16.04,我的 Apache 版本是 2.4.18。我的 PHP FPM 是自定義建構。我正在使用以下配置來處理 PHP 文件:

<FilesMatch ".+\.php$">
   SetHandler php-fcgi
</FilesMatch>
Action php-fcgi /php-fcgi
Alias /php-fcgi /foo.fcgi
FastCgiExternalServer /foo.fcgi -socket /bar.sock -pass-header Authorization

啟用了以下 Apache 模組:actions、alias、autoindex、dir、env、fastcgi、filter、headers、mime、negotiation 和 setenvif。

模組配置保持不變。據我所知,沒有設置 DefaultLanguage。

知道標題來自哪里以及如何刪除它嗎?

編輯

請求純.html文件時,會發送以下標頭:Date、Server、Connection、Keep-Alive、ETag。

使用 請求 PHP 文件時<?php exit('Hello World');,會發送以下標頭:Date、Server、Vary、Content-Encoding、Keep-Alive、Connection、Transfer-Encoding、Content-Type、Content-Language。

我不明白為什麼 PHP 會添加Content-Language: de,尤其是因為該伺服器上的所有軟體都是英文的。

我想到了。罪魁禍首是mod_mime,它Content-Language基於 CGI 腳本文件的副檔名(的第二個參數Alias)添加,該文件在我的生產伺服器上包含.de.

引用自:https://serverfault.com/questions/877554