AWS EC2 LAMP Vhosts都指向同一文件夹

时间:2017-12-06 15:44:29

标签: amazon-ec2 apache2 lamp vhosts

我想让多个域转到同一个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中看不到任何关于ghosts的内容。

(正如你所看到的那样,我已经尝试过注释掉了)

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

vhost文件:

(域名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

我已经完成了&#34; sudo a2ensite&#34;命令在vhost文件上并在它们之后重新启动apache

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

在主持人中:

127.0.0.1 localhost
127.0.1.1 domain1.com
127.0.1.2 domain2.com

2 个答案:

答案 0 :(得分:0)

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

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

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

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

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

重启apache: $ sudo service apache2 restart

答案 1 :(得分:0)

因此,在创建一个新实例之后,我能够设置多个vhost。它们都在工作。问题一定是let的加密证书。我将备份我的配置并尝试让我们对此实例进行加密。我会在这篇文章中报告我的发现。谢谢大家对此的帮助。