2014-11-01 104 views
0

我正在建立一個基於CentOS 6.5的Apache V 2.2,並使用mod_ssl建立VPS。php未通過ssl解析

我的問題是PHP不解析通過SSL提供的頁面。我/etc/httpd/conf.d/ssl.conf樣子:

LoadModule ssl_module modules/mod_ssl.so 
Listen 443 
SSLPassPhraseDialog builtin 
SSLSessionCache   shmcb:/var/cache/mod_ssl/scache(512000) 
SSLSessionCacheTimeout 300 
SSLMutex default 

SSLRandomSeed startup file:/dev/urandom 256 
SSLRandomSeed connect builtin 
SSLCryptoDevice builtin 

<VirtualHost _default_:443> 
ErrorLog logs/ssl_error_log 
TransferLog logs/ssl_access_log 
LogLevel warn 
SSLEngine on 
SSLProtocol all -SSLv2 
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW 
SSLCertificateFile /etc/ssl/certs/example.crt 
SSLCertificateKeyFile /etc/ssl/certs/example.key 
SSLCertificateChainFile /etc/ssl/certs/chain.txt 

<Files ~ "\.(cgi|shtml|phtml|php3?)$"> 
    SSLOptions +StdEnvVars 
</Files> 
<Directory "/var/www/cgi-bin"> 
    SSLOptions +StdEnvVars 
</Directory> 
LoadModule ssl_module modules/mod_ssl.so 
Listen 443 
SSLPassPhraseDialog builtin 
SSLSessionCache   shmcb:/var/cache/mod_ssl/scache(512000) 
SSLSessionCacheTimeout 300 
SSLMutex default 
SetEnvIf User-Agent ".*MSIE.*" \ 
     nokeepalive ssl-unclean-shutdown \ 
     downgrade-1.0 force-response-1.0 
CustomLog logs/ssl_request_log \ 
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 
<Directory /var/www/example.com/public_html> 
     AllowOverride All 
     </Directory> 
     DocumentRoot /var/www/example.com/public_html 
     ServerName example.com 
</VirtualHost> 

任何想法會導致PHP不能解析通過SSL?

回答

0

所以我想出了我的問題是什麼,也許這可以幫助別人。所以我的SSL Vhost是AllowOverride All,而我的非ssl Vhost是AllowOverride None。

當通過虛擬主機的AllowOverride啓用了.htaccess文件中的所有設置,.htaccess文件有一條線是造成PHP失敗:「AddHandler的應用程序/ X的httpd-PHP5 .PHP」

這是不正確,並在php.conf中覆蓋正確的配置:「AddHandler php5-script .php」