Apache2: как избежать ответа одного сайта по умолчанию? - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть сервер apache2 с несколькими веб-сайтами.

Один из них обслуживается как по http, так и по https. Все остальные серверы только по http

Я унаследовал это плохая ситуация от бывшего работника компании, где я работаю, не вините меня

Если я пытаюсь получить доступ через https на одном из других веб-сайтов, apach2 служит, я думаю, первым (и только ) сервер доступен через https, даже если у него другой домен.

Если я получаю доступ к https://blablbalca.com, apache2 знает, что blablbalca.com не обслуживается по https, но не дайте мне 404, он обслуживает https://anotherwebsite.com

Какая директива указывает apache автоматически обслуживать «первое» в случае пропущенного определения?

Как исправить?

РЕДАКТИРОВАТЬ: я нашел более элегантный и обобщенный способ express мой вопрос:

Как я могу избежать того, что apache2 обслуживает случайный виртуальный хост, если домен, указывая к тому же ip, разве не обслуживается с моего сервера?

1 Ответ

1 голос
/ 21 апреля 2020

Вы можете сделать имя лучшим виртуальным хостом и установить ServerName и ServerAlias для соответствия каждому веб-сайту. Кроме того, если вы хотите, чтобы «blablbalca.com» возвращал ошибку при доступе по HTTP, вам нужно настроить виртуальный хост в your_site.conf для обработки трафика, поступающего из порта https. Например, сделать перенаправление или показать страницу с ошибкой.

The default configuration file that deals with the incoming connection from a domain name that is not on the server or without domain name at all (direct IP connection):

For port 80:

<VirtualHost *:80>

        ProxyPass "/" "http://your/path/here"
        ProxyPassReverse "/" "http://your/path/here"

</VirtualHost>

For port 443 (SSL):

<VirtualHost *:443>

        ProxyPass "/" "http://your/path/here"
        ProxyPassReverse "/" "http://your/path/here"

</VirtualHost>

The website with a domain:

<VirtualHost *:80>

        ServerName yoursite.com
        ServerAlias www.yoursite.com
        ServerAdmin none@webhost.com
        DocumentRoot /var/www/yourWebsite

</VirtualHost>

Я удаляю много директив и в этом случае оставляю только те, на которых сосредоточены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...