【问题标题】:Serve non-subdomain routes服务非子域路由
【发布时间】:2015-12-17 22:35:04
【问题描述】:
我想使用 Wordpress 来托管公司的博客。主网站是一个 ASP 应用程序。它们托管在不同的 EC2 实例上。
博客应该有非子域 URL:example.com/blog,而不是 blog.example.com。
如何做到这一点?像 Cloudflare 这样的负载平衡工具可以帮助解决这个问题吗?
我尝试使用 Route53 进行某种屏蔽。还尝试在 IIS 中与主站点并排托管博客。
【问题讨论】:
标签:
iis
amazon-web-services
cloudflare
amazon-route53
【解决方案1】:
您可以将 nginx 放在它们的上游并将其用作 reverse proxy 以匹配目标 URL。
一个示例 nginx 配置可能如下所示:
server {
server_name example.com;
location / {
proxy_pass http://10.0.0.5;
}
location /blog/ {
proxy_pass http://10.0.0.6;
}
}
其中 10.0.0.5 是运行 ASP 应用程序的 IIS 服务器,而 10.0.0.6 是运行 Wordpress 服务器的任何机器。
或者,您可能想查看Amazon's API Gateway service,它允许您将流量引导到您选择的端点,这些端点可能是您在 AWS 内的应用程序、AWS 之外某处的服务器、Lambda 函数或几乎任何“会谈”HTTP。
【解决方案2】:
CloudFlare 不是“负载平衡工具”,它是基于 nginx 和 DNS 服务的 CDN。我不知道 CloudFlare 提供的任何负载平衡功能。您可能可以在 CloudFlare 中设置页面规则来完成您想要的。问题是您需要使用 CloudFlare 作为您的 DNS 服务器,这可能不适合您。
您可以按照 ydaetskcoR 的建议进行操作,并将您自己的 nginx 服务器放在两个 Web 服务器的前面。这将是我的建议。
Route53 是一个 DNS 系统,只处理域名。它不会帮助您解决这种情况。