【问题标题】:AWS EC2 LAMP Vhosts all point to same folderAWS EC2 LAMP Vhosts 都指向同一个文件夹
【发布时间】:2018-05-20 13:33:27
【问题描述】:

我想让多个域访问同一个 EC2 实例。所有人都将拥有相同的IP。我已将多个 vhost 文件设置为 domain1.com 和 domain2.com。我在任何 htaccess 文件或 vhost 文件中都没有任何特别之处。我通过 GoDaddy 拥有域,它们指向 EC2 IP。我遇到的问题是域 1 和 2 都进入同一个文件夹并在浏览器中显示相同的 index.html。

根据https://help.ubuntu.com/lts/serverguide/httpd.html,我看到 httpd.conf 不再存在,我在 apache2.conf 中看不到任何幽灵。

(你可以看到我尝试过的注释掉的东西)

* 不使用 rout 53,我不想使用它,除非我也有*

虚拟主机文件:

(域 1)

#SSLStaplingCache shmcb:/tmp/stapling_cache(128000)
SSLStaplingCache shmcb:${APACHE_RUN_DIR}/ssl_stapling_cache(128000)
<VirtualHost *:80>
    ServerAdmin me@localhost
    ServerName domain1.com
    ServerAlias www.domain1.com
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/html>
    Options Indexes FollowSymLinks

    AllowOverride All
    Require all granted
</Directory>

SSLUseStapling on
RewriteEngine on
#RewriteRule domain1.com\/$ http://domain1.com [NC]
RewriteCond %{SERVER_NAME} =domain1.com [OR]
RewriteCond %{SERVER_NAME} =domain1.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

</VirtualHost>

(域 2)

<VirtualHost *:80>
ServerAdmin me@gmail.com
ServerName domain2.com
ServerAlias www.domain2.com
DocumentRoot /var/www/html/domain2.com
#    ServerPath "/domain2.com/"
#    RewriteEngine On
#    RewriteRule "^(/domain2.com/.*)" "/html/domain2.com$1"
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/html/domain2.com>
  Options Indexes FollowSymLinks

 AllowOverride All
 Require all granted
</Directory>
#RewriteEngine on
#RewriteRule domain2.com\/$ http://domain2.com/index.php [NC]
</VirtualHost>

default-ssl.conf 文件:

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
            ServerAdmin me8@gmail.com
            ServerName domain1.com

            DocumentRoot /var/www/html/domain1.com

****************编辑****************

apache2 -v
Server version: Apache/2.4.18 (Ubuntu)
Server built:   2017-09-18T15:09:02
sudo apachectl configtest 
Syntax OK

我已经完成了对 vhost 文件的“sudo a2ensite”命令并在它们之后重新启动了 apache

********** 编辑 ****************

在主机中:

127.0.0.1 localhost
127.0.1.1 domain1.com
127.0.1.2 domain2.com

【问题讨论】:

    标签: amazon-ec2 apache2 lamp vhosts


    【解决方案1】:

    您应该提供更多详细信息: 您使用的是什么实例/LAMP? 您是否正确配置了 vhost?

    例如,对于 Bitnami 堆栈,您应该正确添加以下行到 /opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf 的末尾: 包含“/path to your configuration file.conf”

    重启apache: $sudo /opt/bitnami/ctlscript.sh 重启 apache


    对于普通的 Ubuntu,(在安装 apache 之后)你应该包含你的配置文件,如下所示: /etc/apache2/sites-available/example.com.conf

    确保启用您的虚拟主机文件: $sudo a2ensite example.com.conf

    重启apache: $sudo 服务 apache2 重启

    【讨论】:

    • 我已对问题进行了编辑。如果您需要更多信息,请告诉我。我在设置主机文件时完成了命令。但是域仍然指向同一个文件夹。
    • 你有两个独立的配置文件吗?每个虚拟主机一个?每个文件都应该在“/etc/apache2/sites-available/”文件夹中。
    • 是的,我有 2 个文件。每个域一个。站点中的 domain1.conf 和 domain2.conf 可用
    • 你应该在你的目录中加上引号:看看下面的示例配置文件作为指导:gist.github.com/jnuc093/6507a95d1580eb992d8f希望有帮助,
    • 尝试了引号,但仍然都指向同一个文件夹。看起来这可能是一个让我们加密的问题。 github.com/certbot/certbot/issues/3103我将创建一个新的 was 实例并尝试不使用 SSL 加密
    【解决方案2】:

    所以,在创建一个新实例后,我能够设置多个虚拟主机。它们都在工作。问题一定是让我们加密证书。我将备份我的配置并尝试在此实例上加密。我会将我的发现报告给这个帖子。感谢大家对此的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-15
      • 2020-09-19
      • 2012-05-05
      • 1970-01-01
      • 2015-07-26
      • 2014-06-19
      • 2015-07-01
      • 2014-01-22
      相关资源
      最近更新 更多