Amazon Elastic beanstalk:使用 nginx/apache 将子域转发到子文件夹
Posted
技术标签:
【中文标题】Amazon Elastic beanstalk:使用 nginx/apache 将子域转发到子文件夹【英文标题】:Amazon Elastic beanstalk : Use nginx/apache to forward subdomains to subfolders 【发布时间】:2013-08-21 16:14:16 【问题描述】:我在 ebs 上创建了我的 node.js 应用,其中包含两个子路由器“foo”和“bar”,目前可通过“example.com/foo”和“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 已经发展了很多,因为......只是想知道这种事情现在是否可行。
【问题讨论】:
【参考方案1】:您可以使用配置文件来自定义您的 nginx 配置。
-
在源包的顶层创建一个
.ebextensions
目录。
创建配置文件/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;
自定义 Elastic Beanstalk EC2 实例的另一种方法是使用自定义 AMI。更多信息可以参考my post。
【讨论】:
以上是关于Amazon Elastic beanstalk:使用 nginx/apache 将子域转发到子文件夹的主要内容,如果未能解决你的问题,请参考以下文章
在 Amazon Elastic Beanstalk 上安装 Anaconda
Amazon Elastic Beanstalk 如何采用自定义 python 命令?
如何卸载 Amazon Elastic Beanstalk 命令行界面?