要在Apache2代理中成功传递Cookies,需要进行以下配置:
1.启用Apache2的代理模块并启用Cookie 头信息的跨域传递功能。
在/etc/apache2/mods-available下创建proxy.conf和proxy.load,如果不存在的话。
命令如下:
a2enmod proxy
a2enmod proxy_http
2.打开/etc/apache2/mods-available/proxy.conf,并在末尾添加以下内容:
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Credentials true
Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE"
Header set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding"
3.更改以下配置:
ProxyPass / http://example.com/
到:
ProxyPass / http://example.com/
ProxyPassReverse / http://example.com/
4.重新启动Apache2服务,并测试Cookie是否可以成功传递。
参考代码示例:
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Credentials true
Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE"
Header set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding"
ProxyPass / http://example.com/
ProxyPassReverse / http://example.com/