通过AWS route53将子域路由到另一台服务器上的文件夹

时间:2014-04-04 05:19:33

标签: wordpress amazon-route53

我有一台运行ASP.NET 4.5网站的EC2 Win2008服务器 www.mysite.com

在同一AWS区域,但另一个单独的EC2 Linux服务器,我有一个运行 blog.mysite.com 的NginX / PHP Wordpress网站。

我想创建一个AWS Route53路由,以便 www.mysite.com/blog 的所有传入请求都以静默方式路由到 blog.mysite.com 重定向,以便用户的网络浏览器保留在网址 www.mysite.com/blog

如何通过Route53实现这一目标?如果使用Route53无法实现,还有其他方法吗?

我不想在我的Windows服务器上运行PHP / MySQL / WordPress,除非我绝对必须这样做。 谢谢!

1 个答案:

答案 0 :(得分:1)

唯一的办法是将Apache或nginx放在托管ASP.NET 4.5应用程序的站点和Wordpress站点的前面。

然后,您可以在该服务器上设置反向代理,使/blog路径指向您的Wordpress站点,/路径指向您的ASP.NET 4.5应用程序。

对于nginx,你会有这样的东西:

server {
    listen       80;
    server_name  www.yourdomain.com;

    access_log  /var/log/nginx/log/www.yourdomain.access.log  main;
    error_log  /var/log/nginx/log/www.yourdomain.error.log;

    location /blog {
      proxy_pass  http://yourblogserver;
      proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
      proxy_redirect off;
      proxy_buffering off;
      proxy_set_header        Host            $host;
      proxy_set_header        X-Real-IP       $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
   }

    location / {
      proxy_pass  http://youraspnet40server;
      proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
      proxy_redirect off;
      proxy_buffering off;
      proxy_set_header        Host            $host;
      proxy_set_header        X-Real-IP       $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

请注意,您的/blog路径必须优先考虑优先级,否则所有请求都会被发送到/