AWS EC2 上的 Apache VirtualHosts 无法正常工作
Posted
技术标签:
【中文标题】AWS EC2 上的 Apache VirtualHosts 无法正常工作【英文标题】:Apache VirtualHosts on AWS EC2 not working 【发布时间】:2017-06-13 20:20:17 【问题描述】:我正在尝试在我的 AWS EC2 Linux 服务器上设置一个 VirtualHost。但是,它会继续将请求定向到默认页面。
我已经安装了 apache,当我在 /var/www/html/
中创建索引文件时,它会按预期显示。
但是,当我添加 *.conf
虚拟主机时,它只会恢复默认页面。
我已经创建了我的/etc/httpd/conf.d/myvhost.conf
文件:
<VirtualHost *:80>
DocumentRoot "/home/username/www/public"
ServerName ec2-13-55-0-7.ap-southeast-2.compute.amazonaws.com
</VirtualHost>
文档根目录已在 /home/username/www/public 创建,我添加了一个自定义 index.html
文件,权限设置为 755。
IncludeOptional conf.d/*.conf
在/etc/httpd/conf/httpd.conf
中未注释
重启 apache。
但显示的是默认页面,而不是我的/home/username/www/public
。
为什么?
【问题讨论】:
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops? 【参考方案1】:首先,如果您在根文件夹中添加一些 Directory
directives,那就太好了:
<Directory "/home/username/www/public/">
allow from all
Options +Indexes
</Directory>
或(source):
<LocationMatch "^/+$">
Options Indexes
</LocationMatch>
其次,你可以debug what Apache understand of the configuration:
# Check for syntax error
apachectl -t
# List VirtualHost
apachectl -S
# both checks:
apachectl -t -D DUMP_VHOSTS
当然,请查看log files。
【讨论】:
以上是关于AWS EC2 上的 Apache VirtualHosts 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
如何将 godaddy ssl 证书添加到托管在 aws ec2 上的站点
AWS Amazon Linux EC2 实例:apache 用户权限被拒绝写入目录