【问题标题】:VirtualHosts on AWS EC2 is not workingAWS EC2 上的 VirtualHosts 无法正常工作
【发布时间】:2017-07-13 06:52:25
【问题描述】:

我想在一个 EC2 实例上设置多个网站托管。两个域都指向一个 IP 地址 我将 /etc/httpd/conf/httpd.conf 文件配置为-

#NameVirtualHost *
<VirtualHost *>
    DocumentRoot "/var/www/html"
    ServerName domain1.com
    ServerAlias www.domain1.com
    <Directory "/var/www/html">
    AllowOverride All
    Require all Granted
    </Directory>
</VirtualHost>
<VirtualHost *>
    DocumentRoot "/var/www/domain2"
    ServerName domain2.com
    ServerAlias www.domain2.com
    <Directory "/var/www/domain2">
    AllowOverride All
    Require all Granted
    </Directory>
#    RewriteEngine On
</VirtualHost>

问题是服务器仅指向 domain1.com 当我将 domain2.com 放入 URL 时,它会显示 apache 默认页面“Amazon Linux AMI 测试页面”

我评论 NameVirtualHost * 的原因是 - 重新启动 httpd 服务后,我得到了

启动httpd:AH00548:NameVirtualHost无效,下个版本会移除/etc/httpd/conf/httpd.conf:355

我还应该做什么设置?请帮帮我。

谢谢

【问题讨论】:

  • 您的两个域的 IP 地址是否指向同一个 IP(我们的 EC2 实例的 IP 地址)?您是否尝试在浏览器中使用隐身模式访问该网站(消除可能的浏览器缓存问题)?
  • 您在 VH 配置中将服务器称为“域”,但在 url 中引用了“域”。可能只是一个错字?

标签: apache amazon-web-services amazon-ec2 virtualhost


【解决方案1】:

经过大量的尝试和错误;终于成功了.. :)

我在 httpd.conf 文件中更改为以下代码-

 <VirtualHost *:80>
    ServerName alivefruits.com
    ServerAlias www.alivefruits.com
    DocumentRoot "/var/www/html"
</VirtualHost>
<VirtualHost *:80>
    ServerName revealautomation.com
    ServerAlias www.revealautomation.com
    DocumentRoot "/var/www/html/reveal"
    <Directory "/var/www/html/reveal">
    AllowOverride All
    Require all Granted
    </Directory>
</VirtualHost>

【讨论】:

    【解决方案2】:

    您的虚拟主机配置缺少端口。而不是

    <VirtualHost *>
    

    试试

    <VirtualHost *:80>
    

    【讨论】:

    • 感谢回复...我已经尝试过了...它也不起作用。
    猜你喜欢
    • 2017-06-13
    • 2014-01-04
    • 1970-01-01
    • 2016-01-01
    • 2011-12-28
    • 1970-01-01
    • 2018-10-09
    • 2017-10-06
    • 2020-11-08
    相关资源
    最近更新 更多