Доступ к виртуальному хосту (Субдомену) Apache с другим компьютером в локальной сети
в настоящее время я пытаюсь настроить виртуальный хост (поддомен) моего HTTP-сервера Apache, чтобы к нему можно было получить доступ с другого компьютера в моей локальной сети. Текущая настройка Apache с PHP и MySQL работает локально на одной физической машине.
таким образом, у меня есть две настройки виртуального хоста (разработка и cms), работающие на нестандартном порту 50080. Машина сервера имеет IP 10.0.0.10. С той же физической машины я могу получить доступ к двум виртуальным хостам использование:
development.localhost:50080
cms.localhost:50080
С другой физической машины, я могу получить доступ к корню сервера, используя:
10.0.0.10:50080
но я не могу или не знаю, как получить доступ к виртуальному хосту с другой машины. Я попробовал что-то вроде:
development.10.0.0.10:50080
cms.10.0.0.10:50080
но они, похоже, не работают.
вот как мой выглядит так:
NameVirtualHost *:50080
<VirtualHost *:50080>
DocumentRoot "C:/www/HTTP"
ServerName localhost
</VirtualHost>
<VirtualHost *:50080>
ServerAdmin administrator@development.localhost
DocumentRoot "C:/www/HTTP/development"
ServerName development.localhost
ErrorLog "logs/development.localhost-error.log"
CustomLog "logs/development.localhost-access.log" common
</VirtualHost>
Я прочитал некоторые из других сообщений здесь и на форуме Apache, но нет точного случая для этот.
мне было интересно, как я могу получить доступ к виртуальному хосту (поддомену) с другой машины и сохранить тот же порт, если это возможно.
спасибо заранее
5 ответов
хорошо, я понял это, вот конфигурация, если кто-то еще ищет это:
==================================================================================
машина A (Apache HTTP Server): httpd-vhost:
NameVirtualHost *:50080
<VirtualHost *:50080>
DocumentRoot "C:/www/HTTP"
ServerName localhost
ServerAlias alias <!-- Added -->
</VirtualHost>
<VirtualHost *:50080>
ServerAdmin administrator@development.localhost
DocumentRoot "C:/www/HTTP/development"
ServerName development.localhost
ServerAlias development.phoenix <!-- Added -->
ErrorLog "logs/development.localhost-error.log"
CustomLog "logs/development.localhost-access.log" common
</VirtualHost>
хозяева:
127.0.0.1 development.localhost
127.0.0.1 alias
127.0.0.1 development.alias
==================================================================================
Машина B (Гость Машина): хозяева:
10.0.0.10 alias
10.0.0.10 development.alias
со второй машины вы должны иметь доступ к "псевдониму" и "разработке".псевдоним"
Я предлагаю сделать следующее изменение (добавить строки ServerAlias):
NameVirtualHost *:50080
<VirtualHost *:50080>
DocumentRoot "C:/www/HTTP"
ServerName localhost
ServerAlias cms.myserver.com
</VirtualHost>
<VirtualHost *:50080>
ServerAdmin administrator@development.localhost
DocumentRoot "C:/www/HTTP/development"
ServerName development.localhost
ServerAlias development.myserver.com
ErrorLog "logs/development.localhost-error.log"
CustomLog "logs/development.localhost-access.log" common
</VirtualHost>
перезапустить Apache, чтобы изменения вступили в силу.
затем на вашем втором компьютере вам нужно добавить пользовательскую запись dns для этих новых доменных имен. Если это Windows, отредактируйте файл c:\windows\system32\drivers\etc\hosts
. Если это Linux, отредактируйте/etc / hosts. В любом случае добавьте:
10.0.0.10 development.myserver.com
10.0.0.10 cms.myserver.com
теперь на вашем втором компьютере вы должны иметь доступ к следующим URL-адресам:
http://development.myserver.com:50080
http://cms.myserver.com:50080
Если я что-то не пропустил, вам нужно либо настроить записи DNS, либо добавить записи в файл /etc/hosts каждого компьютера, обращающегося к серверу.
localhost
- Это запись, которая по умолчанию существует в файле /etc/hosts каждого пользователя, всегда указывая на 127.0.0.1. Без добавления записи/etc / hosts,developer.localhost
не существует, и префикс ip-адреса с поддоменом не будет работать вообще.
на Named Virtual Hosts
для подключения к серверу apache необходимо использовать имя хоста или домен. Он не работает с ips.
Вы можете вставить запись в свой /etc/hosts
на второй системе.
используя туннель SSH + Putty и, таким образом, имея 127.0.0.1 на моем сервере, мне удалось получить доступ к моим поддоменам, выполнив следующее На моей стороне сервера:
# nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
127.0.0.1 sub1.domain.com sub2.domain.com sub3.domain.com sub4.domain.com
Я не менял файл хост удаленного компьютера, и он работает как шарм