Php nginx基于cookie转发到某个apache端口
问题陈述:我有两个版本的网站(LAMP),必须同时运行两个版本。i、 e.两个版本都必须根据特定cookie向用户显示 web服务器:nginx第一级,apache第二级 我认为的解决方案:请求将在一级到达nginx,nginx将根据cookie决定转发哪个apache端口,并根据端口执行映射虚拟主机 nginx配置:我将配置类似nginx的请求,该请求将在cookie的基础上转发到特定的apache端口 apache配置:将创建两个具有不同web根的虚拟主机。现在我想配置apache,比如我的两个虚拟主机将在不同的端口上运行 上述解决方案可行吗?如果可行,那么如何在将转发到特定apache端口的cookie的基础上配置我的nginx?是否有其他解决方案可以帮助我维护两个不同版本的网站?我成功地做到了 nginx配置:Php nginx基于cookie转发到某个apache端口,php,apache,cookies,nginx,webserver,Php,Apache,Cookies,Nginx,Webserver,问题陈述:我有两个版本的网站(LAMP),必须同时运行两个版本。i、 e.两个版本都必须根据特定cookie向用户显示 web服务器:nginx第一级,apache第二级 我认为的解决方案:请求将在一级到达nginx,nginx将根据cookie决定转发哪个apache端口,并根据端口执行映射虚拟主机 nginx配置:我将配置类似nginx的请求,该请求将在cookie的基础上转发到特定的apache端口 apache配置:将创建两个具有不同web根的虚拟主机。现在我想配置apache,比如我的
server {
listen 80;
server_name example.com;
location /
{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-FORWARDED_PROTO https;
if ($http_cookie ~ 'ver=1' ) {
proxy_pass http://127.0.0.1:6060;
}
if ($http_cookie ~ 'ver=2' ) {
proxy_pass http://127.0.0.1:7070;
}
}
}
Listen 6060
Listen 7070
<VirtualHost *:6060>
DocumentRoot /var/www/ver1/
ServerName example.com
</VirtualHost>
<VirtualHost *:7070>
DocumentRoot /var/www/ver2/
ServerName example.com
</VirtualHost>
apache配置:
server {
listen 80;
server_name example.com;
location /
{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-FORWARDED_PROTO https;
if ($http_cookie ~ 'ver=1' ) {
proxy_pass http://127.0.0.1:6060;
}
if ($http_cookie ~ 'ver=2' ) {
proxy_pass http://127.0.0.1:7070;
}
}
}
Listen 6060
Listen 7070
<VirtualHost *:6060>
DocumentRoot /var/www/ver1/
ServerName example.com
</VirtualHost>
<VirtualHost *:7070>
DocumentRoot /var/www/ver2/
ServerName example.com
</VirtualHost>
听6060
听着
DocumentRoot/var/www/ver1/
ServerName example.com
DocumentRoot/var/www/ver2/
ServerName example.com