【发布时间】:2016-03-15 10:48:06
【问题描述】:
我有一个在 wordpress.myorg.com 上运行的 wordpress 网站。对于身份验证,我必须将其重定向到运行 CAS 服务器的内部服务器。
内部服务器没有 DNS 名称。因此,我在 HOST 文件中使用本地 DNS 和 IP 地址来重定向到 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>
对此的任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签: wordpress apache mod-rewrite mod-proxy http-proxy