首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx在cookie的基础上转发到某些apache端口

nginx在cookie的基础上转发到某些apache端口
EN

Stack Overflow用户
提问于 2014-09-09 10:04:18
回答 1查看 159关注 0票数 0

问题陈述:我有两个版本的网站(LAMP),必须同时运行两个版本。也就是说,这两个版本都必须根据特定的cookie向用户显示。

web服务器:nginx第一级,apache第二级。

解决方案--我认为:请求将在第一级到达nginx,而基于cookie的nginx将决定必须在哪个apache端口上转发它,并在端口的基础上执行映射的虚拟主机。

nginx配置:我将配置nginx,类似的请求将在cookie的基础上转发到特定的apache端口。

apache配置:将创建两个具有不同web根的虚拟主机。现在我想配置apache,比如我的两个虚拟主机将运行在不同的端口上。

上面的解决方案是可行的吗?如果是,那么我如何在cookie的基础上配置我的nginx,然后转发到特定的apache端口?有其他的解决方案可以帮助我维护两个不同版本的网站吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-12 12:52:33

我成功地做到了。

nginx配置:

代码语言:javascript
复制
 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;
        }
    }
}

apache配置:

代码语言:javascript
复制
Listen 6060
Listen 7070

    <VirtualHost *:6060>
        DocumentRoot /var/www/ver1/
        ServerName example.com
    </VirtualHost>
    <VirtualHost *:7070>
        DocumentRoot /var/www/ver2/
        ServerName example.com
    </VirtualHost>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25741844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档