amazon-web-services - 如何使用 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";
}
}
}
}
解决方案
推荐阅读
- c++ - 无法在 CMAKE 中链接 Boost
- javascript - ExpoBarCodeScannerModule.scanFromURLAsync 抛出错误
- spring-boot - 读取文件夹中的多个文件并解析并写入另一个文件夹
- python - 根据数据框任何列中的值删除行
- regex - Python 正则表达式添加一个“?” 到单词列表中单词的开头
- reactjs - Ant-Design和Ant-Design-Pro中PageHeader的区别
- assembly - [邓特曼的书第 3 版]。16 位 8086 的内存容量如何是 8080 的 16 倍?
- javascript - 提供 imageLink 时使用 fetch api 显示图像 - javascript
- python - 在 PyQt5 标签小部件中设置光标
- java - Java swing,将标记放置在JPanel中图像上的某个位置