Apache - сервер, не решая/etc/hosts, если у меня нет интернет-соединения

Я настроил много virtualhosts в своем текущем apache2 сервере в моей локальной машине (Ubuntu 13.10).

Это - различные локальные сайты с доменами, которые установлены в моем /etc/hosts:

127.0.0.1       localhost
127.0.0.1       agroplasticos.dev
127.0.0.1       resources.dev
127.0.1.1       luismasuelli-inspiron14

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Где agroplasticos.dev и resources.dev сайты были созданы мной, и предыдущие настройки были установлены по умолчанию.

Для localhost, agroplasticos.dev, и resources.dev, У меня есть записи сайта в /etc/apache2/sites-enabled каталог (только те 3 записи существуют в этом каталоге), которые являются ссылками на соответствующие файлы в /etc/apache2/sites-available:

agroplasticos.dev похож:

<VirtualHost agroplasticos.dev:80>
    ServerName agroplasticos.dev:80
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/agroplasticos
    <Directory /var/www/agroplasticos>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/agroplasticos-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/agroplasticos-access.log combined
</VirtualHost>

и resources.dev похож:

<VirtualHost resources.dev:80>
    ServerName resources.dev:80
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/resources
    <Directory /var/www/resources>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/resources-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/resources-access.log combined
</VirtualHost>

И - наконец, что не менее важно, localhost похож на это:

<VirtualHost localhost:80>
    ServerName localhost:80
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

То, что я ожидаю, - то, что, если я получаю доступ к таким доменам, они разрешены к 127.0.0.1, и они подаются апачем, использующим различные настройки для каждого сайта. В частности, resources.dev просто статический веб-сайт файлов (он имеет только изображения, которые я загружаю внешне через http из программ / сценарии, которые я делаю), таким образом, я не забочусь о ровном наличии PHP для такого сайта. Это означает: Я совершил нападки http://resources.dev/mirrorlings/images/sample.png в моем браузере, и я получаю изображение.

Однако - и существует выгода - сайт успешно смонтирован, если у меня есть сетевое соединение. Если я не соединен, то:

  1. Я могу получить доступ http://localhost/ (образец, никогда измененный, "это работает" экран, появляется).
  2. Я не могу получить доступ http://resources.dev/ (сервер не смонтировал его; клиенты http как браузеры или загрузчики ActionScript не могут достигнуть такого URL).
  3. Я не могу получить доступ http://agroplasticos.dev/ (сервер не смонтировал его; то же о http клиентах).
  4. Я получаю этот журнал ошибок при выполнении sudo service apache2 restart:

    [Sun Jul 20 15:39:55 2014] [error] (111)Connection refused: Could not resolve host name localhost -- ignoring!
    [Sun Jul 20 15:39:55 2014] [error] (111)Connection refused: Could not resolve host name agroplasticos.dev -- ignoring!
    [Sun Jul 20 15:39:55 2014] [warn] The Alias directive in /etc/apache2/conf.d/phpmyadmin.conf at line 3 will probably never match because it overlaps an earlier Alias.
    [Sun Jul 20 15:39:55 2014] [error] (111)Connection refused: Could not resolve host name agroplasticos.dev -- ignoring!
    [Sun Jul 20 15:39:55 2014] [error] (111)Connection refused: Could not resolve host name localhost -- ignoring!
    [Sun Jul 20 15:39:55 2014] [error] (111)Connection refused: Could not resolve host name resources.dev -- ignoring!
    apache2: apr_sockaddr_info_get() failed for luismasuelli-inspiron14
    apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    [Sun Jul 20 15:39:56 2014] [error] (111)Connection refused: Could not resolve host name localhost -- ignoring!
    [Sun Jul 20 15:39:56 2014] [error] (111)Connection refused: Could not resolve host name agroplasticos.dev -- ignoring!
    [Sun Jul 20 15:39:56 2014] [warn] The Alias directive in /etc/apache2/conf.d/phpmyadmin.conf at line 3 will probably never match because it overlaps an earlier Alias.
    [Sun Jul 20 15:39:56 2014] [error] (111)Connection refused: Could not resolve host name agroplasticos.dev -- ignoring!
    [Sun Jul 20 15:39:56 2014] [error] (111)Connection refused: Could not resolve host name localhost -- ignoring!
    [Sun Jul 20 15:39:56 2014] [error] (111)Connection refused: Could not resolve host name resources.dev -- ignoring!
    apache2: apr_sockaddr_info_get() failed for luismasuelli-inspiron14
    apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    

    Также не понимайте, почему это регистрируется, появился дважды. Вы видите, что тот же блок строки повторяется с одной второй задержкой.

И мой вопрос здесь: Почему делают у меня должно быть интернет-соединение, когда то, что я хочу, - то, что Apache разрешил такие поддельные домены как локальные, так как они находятся в /etc/hosts? Что я должен настроить для разрешения локальный, без сети, разрешение?

Я пытался разработать, не имея интернет-соединения и не мог поразить свои локальные серверы, использующие локальный /etc/hosts доменное разрешение к локальному (обратная петля) IP-адрес.

4
задан 21 July 2014 в 07:16

4 ответа

Необходимо отредактировать/etc/apache2/apache2.conf файл и добавить домены в глобальном разделе конфигурации.

0
ответ дан 1 December 2019 в 11:56

Ваша апачская конфигурация смотрит хорошо. И они будут работать просто великолепно как нейтрализация, если у Вас будет интернет-соединение.

Но то, что Вы пропускаете, является локальным сопоставителем DNS, который может передать Ваш запрос локальному серверу, вместо того, чтобы заставить его разрешить в глобальном Интернете DNS. Существует мини-сервер DNS для названного DNSMASQ.

Можно настроить его для разрешения всех .dev доменов к петлевому адресу, не консультируясь с сервером DNS Интернета.

sudo apt-get install dnsmasq

Можно найти необходимую конфигурацию путем рассмотрения ее документов.

У Вас есть другая опция заставить его произойти через файл PAC. Хотя я предлагаю, чтобы Вы придерживались dnsmasq, поскольку это очень популярно и легче сделать это.

0
ответ дан 1 December 2019 в 11:56

Существует другая вещь посмотреть на - /etc/nsswitch.conf. Можно указать приоритет поисков имени хоста. У меня есть в моем nsswitch.conf файле следующая строка:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Это - то, как интерпретировать его:

Хосты: строка указывает порядок, в котором попробуют различные услуги по определению имен. Значение по умолчанию к:

  1. Начните путем проверки/etc/Hosts файла. Если тот файл обеспечивает IP-адрес для рассматриваемого имени хоста, он используется.

  2. Иначе попробуйте mdns4_minimal, который попытается разрешить имя через многоадресную передачу DNS, только если это заканчивается .local. Если это сделает, но никакой такой хост mDNS не расположен, то mdns4_minimal возвратится НЕЗНАКОМЫЙ. Сервисный ответ переключателя имени по умолчанию на НЕЗНАКОМЫЙ должен был бы попробовать следующий перечисленный сервис, но переопределения записи [NOTFOUND=return] это и останавливают поиск с неразрешенным именем.

  3. Затем попробуйте указанные серверы DNS. Это произойдет более или менее сразу, если имя не закончится в .local, или нисколько если это делает. При удалении записи [NOTFOUND=return] nsswitch попытался бы определить местоположение неразрешенных хостов .local через одноадресную передачу DNS. Это обычно было бы плохой вещью, поскольку она отправит много таких запросов к Интернету серверы DNS, которые никогда не разрешали бы их. По-видимому, это происходит много.

  4. Финал mdns4 запись указывает, что mDNS попробуют за имена, которые не заканчиваются в .local, если Ваши указанные серверы DNS не могут разрешить их. Я думал, что это было предназначено для ловли хостов mDNS, когда Вы не делаете specifiy .local TLD, но я просто попробовал его, и он не работает. Угадайте, что я изучу его.

Источник: http://ubuntuforums.org/showthread.php?t=971693

Путем изменения порядка в этой строке можно изменить порядок того, как разрешены имена хостов. Это могло бы объяснить то, что localhost не может быть разрешен.

0
ответ дан 1 December 2019 в 11:56

Похоже, что Ваши resolv.conf настройки вызывают Ваш файл hosts к проигнорированному.

Недавняя человечность использовала resolveconf для управления resolv.conf потому что лучше при разработке сценариев, где существуют многочисленные связи.

Общая resolvconf документация http://manpages.ubuntu.com/manpages/trusty/man8/resolvconf.8.html

Используйте технику в принятом ответе здесь для регенерации resolv.conf настроек How, я заставляю resolvconf повторно создавать resolv.conf после того, как я изменяю/etc/network/interfaces?

0
ответ дан 1 December 2019 в 11:56

Другие вопросы по тегам:

Похожие вопросы: