首页 > 解决方案 > 如何使用 AWS S3 - Cloudfront 设置基于用户代理重定向流量?

问题描述

我正在使用 Nginx 反向代理将我的流量从移动设备重定向到一个 docker 容器,并将桌面重定向到另一个 docker 容器。附件是我正在使用的 nginx 配置文件。因此,something.xyz从移动设备打开的用户显示为单独的前端,从桌面打开的用户显示为单独的前端。

现在出于显而易见的原因,我想在 S3-Cloudfront 中同时托管移动和桌面前端。我不知道如何分离移动流量和桌面流量并将它们重定向到单独的 s3-cloudfront。

events {
    worker_connections 4096; ## Default: 1024
}

http {

    server {
        listen 80;
        server_name something.xyz;

        if ($http_user_agent ~* '(iPhone|iPod|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)') {
            set $ua_type "@mobile";
        }

        location /api {
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $http_host;
            proxy_pass "http://127.0.0.1:8080";
        }

        location / {
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $http_host;

            if ($ua_type = "@mobile") {
                proxy_pass "http://127.0.0.1:82";
            }
            if ($ua_type != "@mobile") {
                proxy_pass "http://127.0.0.1:81";
            }

        }

    }

}

标签: amazon-web-servicesnginxamazon-s3amazon-cloudfrontweb-hosting

解决方案


推荐阅读