У меня есть доменное имя под названием dumbdom.com
. У меня есть эластичный IP-адрес для моего экземпляра AWS EC2, который называется my.ela.stic.ip
. Корень htdocs моего экземпляра EC2 на базе Linux находится в /var/www/html/
.
Я установил /etc/httpd/conf.d/vhost.conf
файл для направления домена dumbdom.com
к /var/www/html/my_dumb_app/
и это работает нормально! В vhost.conf
файл выглядит так:
NameVirtualHost *
<VirtualHost *>
ServerName dumbdom.com
DocumentRoot /var/www/html/my_dumb_app
</VirtualHost>
<VirtualHost *>
ServerName blog.dumbdom.com
DocumentRoot /var/www/html/my_blog_directory
</VirtualHost>
Теперь я хочу dumbdom.com
& blog.dumbdom.com
продолжать приземляться на /var/www/html/my_dumb_app/
& /var/www/html/my_blog_directory
соответственно; и я также хочу все остальное через my.ela.stic.ip
адрес просто перейти к /var/www/html
вроде нормально. Так что собираюсь dumbdom.com
и собираюсь my.ela.stic.ip/my_dumb_app
в конечном итоге приземлится в том же месте.
Так получилось, что поскольку мой файл vhost.conf имеет <VirtualHost>
теги для dumbdom.com
& blog.dumbdom.com
, попытка доступа к другим каталогам сервера через elastic_ip вызывает 404-NotFound
ошибка.
Спасибо
Согласно http://httpd.apache.org/docs/2.2/vhosts/name-based.html, вы можете создать запись VirtualHost для IP-адреса.
Так что у вас будет что-то вроде
<VirtualHost my.elas.stic.ip>
ServerName my.elas.stic.ip
DocumentRoot /var/www/html
</VirtualHost>
Также имейте в виду, что первое объявление vhost используется по умолчанию - это, вероятно, не повлияет на вас, но любой, кто обращается к вашему экземпляру через внешний IP-адрес экземпляра или доменное имя экземпляра EC2, получит все, что будет первым.
Изменить: есть несколько способов получить доступ к вашему экземпляру EC2. Во-первых, у каждого экземпляра есть как общедоступные, так и частные IP-адреса, а также общедоступные и частные записи DNS. Доступ к экземпляру через один из них (например, ec2-x.x.x.x.y.amazonaws.com) не будет соответствовать ни одному из имен хостов, поэтому будет выбрано значение по умолчанию. При перезапуске, например, и перед повторным назначением эластичного IP-адреса то же самое произойдет и с внешним IP-адресом.