2008-12-21 106 views
0

Apache是​​隨地吐痰的代碼HTTP響應:400「錯誤的請求」,沒有細節,每當我訪問驅動被處理的頁面通過FastCGI的腳本。阿帕奇給一個400錯誤在FastCGI的虛擬主機

  • 我已經安裝了mod_fcgid模塊和它的加載和配置Apache的配置文件
  • 我已經測試了FastCGI的腳本,它們都直接執行時運行。
  • 靜態資源的服務適當。
  • Apache正在努力,因爲當我重寫URL到一個不存在的腳本

任何人有任何的想法有什麼錯我的Apache配置抱怨,啓動腳本?

<VirtualHost ip.ad.re.ss:80> 
    ServerName demo.domain.com:80 

    DocumentRoot /var/www/vhosts/domain.com/subdomains/demo/rails/public 
    CustomLog /var/www/vhosts/domain.com/statistics/logs/demo_access_log combined 
    ErrorLog /var/www/vhosts/domain.com/statistics/logs/demo_error_log 
    LogLevel info 
    Options +FollowSymLinks +ExecCGI -SymLinksIfOwnerMatch 
    AddHandler fcgid-script .fcgi 

    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] 
</VirtualHost> 

編輯 - 我已經檢查了mod_rewrite日誌和URI的被改寫正確

+0

我從來沒有找到解決方案,而是最終使用單個雜種實例來完成這項工作。 – 2010-06-05 22:54:18

回答

0

嘗試刪除DOCUMENT_ROOT重寫COND。其次,檢查mod_rewrite日誌指令,它們的信息非常豐富,就像這樣的奇怪問題。

+0

他們的信息非常豐富,我確實有一些錯誤。現在重寫工作正常,但我仍然收到400錯誤。重寫日誌:的RewriteCond:輸入= '/路徑/到/應用程序/公共/' 圖案= - =>匹配 重寫 '/' - > 'dispatch.fcgi' 本地路徑結果 'F!':dispatch.fcgi – 2008-12-21 07:04:58

0

好的,還有一件事要嘗試。
http://httpd.apache.org/docs/2.2/mod/core.html#loglevel

設置日誌級別進行調試,並確保這不是一個生產機器上,因爲它會產生大量的每個單獨的事件(GET /把)輸出。

我認爲如何你上面的例子FastCGI的是失去了一些東西,但我承認它已經有一段時間我做了什麼,但PHP或者Python的FastCGI。
dispatch.fcgi是什麼語言? 你能從命令行執行它並且Apache有執行文件的權限嗎? (sudo su apacheaccount)。

更新: 知道你錯過了一些東西:看看 - >http://fastcgi.coremail.cn/configuration.htm FCGIWrapper是告訴快速cgi執行你的dispatch.fcgi文件需要什麼。

+0

由於嘗試。我改變了LogLevel,但是錯誤日誌是空的,訪問日誌是正常的,因爲Apache並不認爲它是我認爲的錯誤。 這是紅寶石,是的,dispatch.fcgi是可執行的,每個人都可以閱讀。 – 2008-12-22 08:39:46