我已经在 Amazon EC2 上安装了 Apache/Linux。在一个实例中,我设置了PHP并将文件放在目录var/www/html下。在同一实例上,我还在子文件夹 home/ec2-user/中安装了 NodeJS
我创建了一个新的控制器 home/ec2-user/site,其中我放置了一个 javascript 文件,该文件在端口 8080 上启动 NodeJS 服务器脚本(server.js)。
现在,如果URL http://domain.com,它将定向到PHP目录(var/www/html)。URL http://domain.com:8080 显示输出表单服务器.js
我的问题是:我可以将 http://domain.com:8080 重定向到 http://sub.domain.com 或 http://domain.com/sub 吗?我希望浏览器上的地址栏也会更改为。这可能吗?
我想我已经解决了这个问题。
首先,设置 Amazon S3 和 Route 53。在 Amazon S3 上,添加一个存储桶"sub.domain.com"。然后静态网站托管>将所有请求重定向到另一个主机名,然后键入"domain.com"在 Route 53 的托管区域"domain.com"处,创建记录集"sub.domain.com"。选取类型"A",然后将别名设置为"domain.com"。(TBH,我不完全确定上述步骤是否必要。
然后更改代理设置。将文件名设置为"httpd-vhosts.conf"。然后把它放在"etc/httpd/conf.d"下。有关详细步骤,请查看此答案:启动基于自定义 Amazon Linux AMI 的 ec2 后,第二个虚拟主机的 DocumentRoot 发生了更改
NameVirtualHost *:80
<VirtualHost *:80>
ServerName domain.com
DocumentRoot "/var/www/html/"
</VirtualHost>
<VirtualHost *:80>
ServerName sub.domain.com
ProxyPass / http://domain.com:8080/
ProxyPassReverse / http://domain.com:8080/
</VirtualHost>
然后,我在 Amazon 控制台上重新启动了 EC2 实例。欢迎任何更好的解决方案。