Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Apache и IPv6  (Прочитано 1670 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн exonix

  • Автор темы
  • Любитель
  • *
  • Сообщений: 80
    • Просмотр профиля
Apache и IPv6
« : 31 Май 2017, 17:00:26 »
есть debian 8 с установленным и настроенным Apache2. Всё было ок, пока не добавил IPv6 адрес. Теперь не могу открыть никакие ссылки - не найдено. В логах вот что:
Цитировать
IPv6Address - - [31/May/2017:16:57:24 +0300] "GET /2016/AADC/aadc01.png HTTP/1.1" 404 513 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
Если заменить адрес на IPv4 - то всё работает.
Как сделать так, чтобы работало и по IPv4 и по IPv6 ?

root@:/etc/apache2# cat ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

#Listen 80

<IfModule ssl_module>
#       Listen 443
</IfModule>

<IfModule mod_gnutls.c>
#       Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Добавил в ports.conf

Listen [aaaa:aaaa:aaaa:aaaa:aaaa]:80
Listen xxx.xxx.xxx.xxx:80

после этого получаю ошибку и по IPv4 и по IPv6:
ERR_CONNECTION_REFUSED

убрал в портах, добавил тут:
root@:~# cat /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

<VirtualHost [b][::]:80[/b]>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>
ничего не поменялось. по IPv6 всё открывается только корень веб-сайта, но пустой. Я так понимаю, что-то не то с виртуальными хостами...


Спасибо!
« Последнее редактирование: 31 Май 2017, 17:31:57 от exonix »

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1443
    • Просмотр профиля
Re: Apache и IPv6
« Ответ #1 : 31 Май 2017, 17:39:10 »
Как сделать так, чтобы работало и по IPv4 и по IPv6 ?

ports.conf
Listen [aaaa:aaaa:aaaa:aaaa:aaaa]:80
Listen xxx.xxx.xxx.xxx:80

попробуйте на каждый биндинг настроить отдельный виртуалхост:
<VirtualHost Listen xxx.xxx.xxx.xxx:80>
</VirtualHost>
<VirtualHost [aaaa:aaaa:aaaa:aaaa:aaaa]:80>
</VirtualHost>
« Последнее редактирование: 31 Май 2017, 17:45:28 от bezbo »

Оффлайн exonix

  • Автор темы
  • Любитель
  • *
  • Сообщений: 80
    • Просмотр профиля
Re: Apache и IPv6
« Ответ #2 : 31 Май 2017, 17:52:18 »
я настроил и ports.conf и 000-default.conf (примеры выше) - пишет ERR_CONNECTION_REFUSED.
без ports.conf ИПв6 работает, но показывает листинг корневой папки...

порты похоже не надо трогать, ибо ошибка запуска сервера:
[Wed May 31 17:50:20.070584 2017] [mpm_prefork:notice] [pid 552] AH00173: SIGHUP received.  Attempting to restart
(98)Address already in use: AH00072: make_sock: could not bind to address [фффф:фффф:ффффф:ффффф]:80
[Wed May 31 17:50:20.104529 2017] [mpm_prefork:alert] [pid 552] no listening sockets available, shutting down
[Wed May 31 17:50:20.104536 2017] [:emerg] [pid 552] AH00019: Unable to open logs, exiting
[Wed May 31 17:53:33.055742 2017] [core:warn] [pid 1408] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
« Последнее редактирование: 31 Май 2017, 17:55:35 от exonix »

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1443
    • Просмотр профиля
Re: Apache и IPv6
« Ответ #3 : 31 Май 2017, 18:18:55 »
я настроил и ports.conf

попробуйте оставить ports.conf по умолчанию без айпишников:
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80

<IfModule ssl_module>
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

а в 000-default.conf указать отдельные VirtualHost для ipv4 и ipv6 (для ipv6 [::]:80 - так делать не надо)


Оффлайн exonix

  • Автор темы
  • Любитель
  • *
  • Сообщений: 80
    • Просмотр профиля
Re: Apache и IPv6
« Ответ #4 : 31 Май 2017, 18:29:40 »
(для ipv6 [::]:80 - так делать не надо)
а как тогда надо-то?

Пользователь добавил сообщение 31 Май 2017, 18:33:57:
всё решил!!!
вначале нашёл, где настраивается виртуальные хосты (до сих пор не пойму, зачем когда-то решили делать это в отдельном файле)
grep -Ril "имя.сайта" /etc/
/etc/apache2/vhosts/www-root/имя.сайта


тут /etc/apache2/vhosts/www-root/имя.сайта дописал:
<VirtualHost ччч.чччч.ччч.ччч:80 [aaaa:aaaa:aaaa:aaaa:aaa]:80>
« Последнее редактирование: 31 Май 2017, 18:34:24 от exonix »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27413
    • Просмотр профиля
Re: Apache и IPv6
« Ответ #5 : 31 Май 2017, 18:37:49 »
Просто <VirtualHost *:80>
Зачем извращаться?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн exonix

  • Автор темы
  • Любитель
  • *
  • Сообщений: 80
    • Просмотр профиля
Re: Apache и IPv6
« Ответ #6 : 31 Май 2017, 18:40:44 »
Просто <VirtualHost *:80>
Зачем извращаться?
может от того, что на сервере есть ещё несколько IP адресов, и я не хочу, чтобы их слушал\отвечал апач?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27413
    • Просмотр профиля
Re: Apache и IPv6
« Ответ #7 : 31 Май 2017, 20:38:24 »
Если ты ещё сумеешь мне это своё хотение внятно аргументировать...
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.428 секунд. Запросов: 25.