2013-08-19 187 views
3

我已經建立了我對EBS的Node.js應用程序有兩個subrouters「富」和「酒吧」,目前通過「example.com/foo」訪問和「使用的nginx/apache的轉發子域到子文件夾example.com/bar」。亞馬遜彈性魔豆:

我想EBS的反向代理的子域「foo.example.com」和「bar.example.com」轉發給這些子文件夾...

即「foo.example.com/ xxx「到」example.com/foo/xxx「 」bar.example.com/yyy「到」example.com/bar/yyy「等。

我知道如何配置nginx來做到這一點,但我想不到能夠訪問EBS上的nginx配置文件...

有人問完全the same thing over a year ago,但看起來EBS已經開發了一個很好的交易,因爲...只是想知道這種排序的東西現在是可行的。

回答

6

您可以使用配置文件來定製你的nginx的配置。

  1. 在源包的頂層創建一個.ebextensions目錄。
  2. 創建一個配置文件,/your_app/.ebextensions/custom.config。在配置文件中鍵入以下內容以配置轉發設置。 (我創建了一個gist
files: 
    "/etc/nginx/conf.d/custom.conf" : 
    content: | 
     server { 
     listen 8080; 
     server_name foo.chief-motp.com; 
     location/{ 
      proxy_pass http://nodejs/foo/; 
      proxy_set_header Connection ""; 
      proxy_http_version 1.1; 
      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 /public { 
      alias /var/app/current/public; 
     } 
     } 
     server { 
     listen 8080; 
     server_name bar.chief-motp.com; 
     location/{ 
      proxy_pass http://nodejs/bar/; 
      proxy_set_header Connection ""; 
      proxy_http_version 1.1; 
      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 /public { 
      alias /var/app/current/public; 
     } 
     } 

另一種方法來定製彈性青苗EC2實例使用自定義AMI。欲瞭解更多信息,可以參考my post