首页 > 解决方案 > 在 AWS 上为各种 Web 应用程序设置 vhost

问题描述

在我的 AWS 实例上,我有以下设置

/var/www/html/admin <--- angularjs application
/var/www/html/api <--- angularjs application
/var/www/html/main <--- django application

我如何使它们都可以作为“单个站点”访问?例如,浏览到:

http://ec2-xx-xx-xxx-xxx.eu-west-2.compute.amazonaws.com/admin
http://ec2-xx-xx-xxx-xxx.eu-west-2.compute.amazonaws.com/api
http://ec2-xx-xx-xxx-xxx.eu-west-2.compute.amazonaws.com/main

每个人都应该像去一个独立的网站一样。

现在http://ec2-xx-xx-xxx-xxx.eu-west-2.compute.amazonaws.com/main例如(这是一个 AngularJS 应用程序),我看到这样的错误:

Failed to load resource: the server responded with a status of 404 (Not Found)

我登录到该站点并注意到它认为资产位于上面的目录中,而不是在“主”子目录中。我可以理解我需要以某种方式设置虚拟主机......这些在 AWS 实例上的位置,它们看起来像这样吗?

<VirtualHost *:80>
    ServerAdmin info@main.com
    ServerName main.com
    ServerAlias www.main.com
    DocumentRoot /var/www/html/main

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin info@main.com
    ServerName main.com/api
    ServerAlias www.main.com/api
    DocumentRoot /var/www/html/api

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin info@main.com
    ServerName main.com/admin
    ServerAlias www.main.com/admin
    DocumentRoot /var/www/html/admin

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

标签: angularjsapacheamazon-web-servicesvhosts

解决方案


推荐阅读