我在Symfony 2.3上使用带有FosUserBundle的HWIOAuthBundle来连接用户的Facebook帐户。通过简单的Web服务器设置(例如example.com),一切正常。
当我引入反向代理设置时,问题出现了,现在symfony2应用程序在子目录(例如example.com/app)上提供。我跟随HWIOAuthBundle的实现https://gist.github.com/danvbe/4476697,并使用官方文档中的javascript创建连接到Facebook的按钮。
在反向代理方案中,与FB的身份验证和连接对话按预期工作,但是当您返回到反向代理应用程序时,Facebook会话数据无法由代理后面的Web服务器读取(该应用程序不会"请参阅"任何fb身份验证数据)。
我的问题是:我的代理设置是否有问题(下面的配置)或者HWIOAuthBundle(或FB php-sdk)在没有修改的情况下是否无法正常工作?
代理服务器的vhost配置是
set
app服务器的配置是
<VirtualHost *:80>
DocumentRoot /var/www/www.followthatfund.com/web
<Directory />
Options +FollowSymLinks
AllowOverride All
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [QSA,L]
</Directory>
ServerName example.com
ErrorLog /var/log/httpd/example.com-error_log
CustomLog /var/log/httpd/example.com-access_log common
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /app/ http://app.example.com/
ProxyHTMLURLMap http://app.example.com /app/
<Location /app/>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLURLMap / /app/
ProxyPassReverseCookiePath /app/ /
</Location>
</VirtualHost>