Apache показывает & ldquo; Страница по умолчанию & rdquo; при использовании https: //www.example, но работает для https: // example

Я только что создал для вас фотографию, чтобы она поняла. Система Linux похожа на дерево. Нижняя часть дерева - «/». / Root - это папка в дереве «/».

0
задан 16 April 2018 в 21:30

2 ответа

У вас это в вашей конфигурации:

ServerName example.com

Это соответствует example.com, но не www.example.com. Это два разных имени. Если вы используете https (как и вы, на основе конфигурации), вам также нужен либо сертификат с несколькими именами, либо подстановочный знак, либо отдельные сертификаты для example.com и www.example.com.

Используйте ServerAlias www.example.com, чтобы добавить псевдоним к ServerName. Это также описано в превосходной документации apache, которая должна быть первой остановкой, когда что-то не работает:

Когда запрос поступит, сервер найдет лучший (наиболее конкретный) аргумент соответствия на основе IP-адреса адрес и порт, используемые в запросе. Если имеется более одного виртуального хоста, содержащего этот адрес наилучшего соответствия и комбинации портов, Apache будет дополнительно сравнивать директивы ServerName и ServerAlias ​​с именем сервера, присутствующим в запросе.
1
ответ дан 17 July 2018 в 16:44

У вас это в вашей конфигурации:

ServerName example.com

Это соответствует example.com, но не www.example.com. Это два разных имени. Если вы используете https (как и вы, на основе конфигурации), вам также нужен либо сертификат с несколькими именами, либо подстановочный знак, либо отдельные сертификаты для example.com и www.example.com.

Используйте ServerAlias www.example.com, чтобы добавить псевдоним к ServerName. Это также описано в превосходной документации apache, которая должна быть первой остановкой, когда что-то не работает:

Когда запрос поступит, сервер найдет лучший (наиболее конкретный) аргумент соответствия на основе IP-адреса адрес и порт, используемые в запросе. Если имеется более одного виртуального хоста, содержащего этот адрес наилучшего соответствия и комбинации портов, Apache будет дополнительно сравнивать директивы ServerName и ServerAlias ​​с именем сервера, присутствующим в запросе.
1
ответ дан 23 July 2018 в 17:36
  • 1
    Это верно. Однако добавление ServerAlias ​​может не решить проблему, если DNS-записи или хосты также не установлены должным образом. example.com и www.example.com должны разрешаться на один и тот же IP-адрес. – nobody 16 April 2018 в 09:31
  • 2
    @nobody да, но он говорит, что www.example.com дает страницу по умолчанию. Это означает, что DNS установлен правильно :) – vidarlo 16 April 2018 в 09:32
  • 3
    Ты прав. Я не обратил на это внимания. – nobody 16 April 2018 в 09:33
  • 4
    Я попытался добавить ServerAlias ​​www.example.com во все три файла conf непосредственно после директивы ServerName, а затем перезапустил службу Apache. Но все равно получите «страницу по умолчанию». для https: // www. Есть ли что-нибудь еще, что я могу проверить? – Logic1 16 April 2018 в 09:35
  • 5
    Что говорит ваш журнал Apache? – vidarlo 16 April 2018 в 09:37

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

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