Назад | Перейти на главную страницу

Apache VirtualHosts на порту 8080, а как насчет / etc / hosts?

Возможный дубликат:
Могу ли я указать порт в записи в моем / etc / hosts в OS X?

У меня NGINX работает на порту 80, а APACHE - на порту 8080 (Listen 8080).

На Apache у меня есть несколько виртуальных хостов через порт 8080.

Раньше (когда у меня был apache, работающий на 80-м порту) у меня было сопоставление domain-> ip в файле / etc / hosts:

127.0.0.1 my-domain.dev

Но теперь, когда мне также нужно указать порт, как мне это сделать?

Я использую Mac Os 10.7 (Lion), и мой VirtualHost выглядит так:

NameVirtualHost *:8080

<VirtualHost *:8080>
    ServerName localhost
    DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>

<VirtualHost *:8080>
    ServerName my-domain.dev
    DocumentRoot "/path/to/my/deploy/folder"
        <Directory "/path/to/my/deploy/folder">
            Order allow,deny
            Allow from all
            AllowOverride All       
        </Directory>
</VirtualHost>

(...)

Вы не можете. / etc / hosts работает аналогично DNS и вообще не обрабатывает порты. Он просто преобразует имя в IP-адрес. Вам нужно будет поставить: 8080 в конце адреса.

Вы не можете записать порт в хостах, и со старыми настройками в хостах измененный порт будет доступен, вам просто нужно добавить: 8080 в URL.

Если вы хотите оставить сервер на порте 8080, но сделать этот порт по умолчанию для http вместо 80 (чтобы использовать URL-адреса старого стиля), вам необходимо добавить записи SRV для определения зоны (и иметь запущенный DNS-сервер, даже локальный, с вашими доменами, определенными на этом сервере)

Как говорили другие, вы не можете использовать файл hosts для определения порта, который прослушивает Apache. Причина, по которой вам не нужно было указывать порт, когда Apache прослушивал порт 80, заключается в том, что порт 80 является портом по умолчанию для протокола http. Если вы не хотите указывать номер порта в своих URL-адресах, рассмотрите возможность настройки nginx на обратный прокси для сайтов apache.