2016-03-15 51 views
0

我在wordpress.myorg.com上運行了一個WordPress站點。對於身份驗證,我必須將其重定向到運行CAS服務器的內部服務器。Apache2的WordPress站點的ProxyPass規則

內部服務器沒有DNS名稱。所以,我在HOST文件中使用帶IP地址的本地DNS重定向到CAS服務器。所有的事情都以這種方式正確地工作。

現在我想添加ProxyPass規則,以便用戶始終只能看到wordpress.myorg.com。

添加ProxyPass規則後,當我點擊wordpress.myorg.com/wp-login.php時,它返回的頁面有500個內部錯誤,而不是顯示CAS登錄屏幕。

這裏是虛擬主機條目我在Apache Web服務器做了WordPress站點

<VirtualHost *:80> 
    ServerAdmin your_email_address 
    ServerName wordpress.myorg.com 
    ServerAlias wordpress.myorg.com 

    DocumentRoot /var/www/html/wordpress 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
    </Directory> 
    <Directory /var/www/html/wordpress> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
    </Directory> 

    RewriteEngine On 
    Options +FollowSymLinks 
    RewriteCond %{HTTPS} !=on 
    RewriteRule ^/?CAS/(.*) https://wordpress.myorg.com/CAS/$1 [R,NE,L] 

</VirtualHost> 
<VirtualHost *:443> 

    ServerAdmin your_email_address 
    ServerName wordpress.myorg.com 
    ServerAlias wordpress.myorg.com 

    SSLEngine on 
    SSLCertificateFile /etc/apache2/ssl/myorg.com.crt 
    SSLCertificateKeyFile /etc/apache2/ssl/myorg.com.key 

    ProxyRequests On 
    ProxyVia On 

    ProxyPass /CAS/ ajp://cas.myorg.com:8009/CAS/ 
    ProxyPassReverse /CAS/ ajp://cas.myorg.com:8009/CAS/ 

</VirtualHost> 

任何幫助就這將是明顯的。

謝謝。

回答

0

出現問題。我忘記啓用SSLProxyEngine。只是啓用它,它的工作就像一個魅力。

編輯HTTP部分。

<VirtualHost *:443> 

    ServerAdmin your_email_address 
    ServerName wordpress.myorg.com 
    ServerAlias wordpress.myorg.com 

    SSLEngine on 
## Added these lines ## 
    SSLProxyEngine On 
    SSLProxyCheckPeerCN on 
    SSLProxyCheckPeerExpire on 
## -- ## 
    SSLCertificateFile /etc/apache2/ssl/myorg.com.crt 
    SSLCertificateKeyFile /etc/apache2/ssl/myorg.com.key 

    ProxyRequests On 
    ProxyVia On 

    ProxyPass /CAS/ ajp://cas.myorg.com:8009/CAS/ 
    ProxyPassReverse /CAS/ ajp://cas.myorg.com:8009/CAS/ 

</VirtualHost>