Рейтинг:0

Apache направляет посетителя https:b-сайта на https:a-сайт (b-сайт не имеет ssl)

флаг jp

У меня проблема с моей системой apache. это совершенно новый, и я тоже.

моя проблема сейчас в том, что если кто-то посетит https://123.446.689.0 или же https://b-site.com, (у которых нет ssl), тогда a-site подключится к https...

Как может соединение так прыгать? (конечно появляется предупреждение, так как ssl для другого домена)

Я ПОЛУЧУ ssl на b-сайте, но не могу получить ssl на ip. и весь прямой IP-доступ должен быть перенаправлен на другой сайт. (который в настоящее время 000-по умолчанию)

это мои файлы конфигурации;

a-site.com.conf

<VirtualHost a-site.com:80>
ServerName a-site.com
DocumentRoot /var/www/a-site.com
    <Directory /var/www/a-site.com>
        Options FollowSymLinks
        AllowOverride Limit Options FileInfo
        DirectoryIndex index.html index.php
        Require all granted

    </Directory>
<Directory /var/www/a-site.com/wp-content>
        Options FollowSymLinks
        Require all granted

    </Directory>

ErrorLog ${APACHE_LOG_DIR}/a-site.error.log
CustomLog ${APACHE_LOG_DIR}/a-site.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =a-site.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

a-conf.com-le-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost a-site.com:443>
    ServerName a-site.com
    ServerAdmin arga@localhost
    DocumentRoot /var/www/a-site.com
    ErrorLog ${APACHE_LOG_DIR}/a-site.error.log
    CustomLog ${APACHE_LOG_DIR}/a-site.access.log combined


SSLCertificateFile /etc/letsencrypt/live/a-site.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/a-site.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
Header always set Strict-Transport-Security "max-age=31536000"
</VirtualHost>
</IfModule>

000-default.conf

<VirtualHost 123.456.789.0:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/00
        ErrorLog ${APACHE_LOG_DIR}/catchall.error.log
        CustomLog ${APACHE_LOG_DIR}/catchall.access.log combined

</VirtualHost>

b-site.com.conf

<VirtualHost b-site.com:80>
ServerName b-site.com
DocumentRoot /var/www/b-site.com
    <Directory /var/www/b-site.com>
        Options FollowSymLinks
        AllowOverride Limit Options FileInfo
        DirectoryIndex index.html index.php
        Require all granted

    </Directory>
<Directory /var/www/b-site.com/wp-content>
        Options FollowSymLinks
        Require all granted

    </Directory>

ErrorLog ${APACHE_LOG_DIR}/b-site.error.log
CustomLog ${APACHE_LOG_DIR}/b-site.log combined

</VirtualHost>

000-по умолчанию-ssl.conf

<IfModule mod_ssl.c>
  
 <VirtualHost _default_:443>
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/00
            
            ErrorLog ${APACHE_LOG_DIR}/napto.def.error.log
            CustomLog ${APACHE_LOG_DIR}/napto.def.access.log combined
            SSLEngine on

            SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
            SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                            SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                            SSLOptions +StdEnvVars
            </Directory>             
        </VirtualHost>
</IfModule>
Jerry avatar
флаг jp
Я добавил новый сайт под названием 00al... но теперь сайт 00al перехватывает https https... что происходит? как это возможно?
Рейтинг:1
флаг jp

У вас есть только a-site.com: 443 Виртуальный хост определен для порта 443 (https), поэтому Apache показывает только тот сайт, который он может найти для отображения.

Вам нужно определить значение по умолчанию Виртуальный хост на порт 443 <VirtualHost _default_:443> так же, как у вас в 000-default.conf (или проверьте, есть ли у вас по умолчанию-ssl.conf и включите его). Вам по-прежнему нужен сертификат TLS/SSL для хоста по умолчанию, но вы можете создать самозаверяющий сертификат. В системах на основе Debian уже есть один, сгенерированный для вас, как /etc/ssl/certs/ssl-cert-snakeoil.pem.

Jerry avatar
флаг jp
На самом деле у меня есть один, и когда, но нет никакой разницы, активирован он или нет, я даже пытался переименовать его в 000-def ... так что это было бы раньше, чем a-site, но сайт a все равно перехватывает https: //123.456.789.0 звонок..
Jerry avatar
флаг jp
на самом деле, это были мои глаза, я действительно написал .conf вместо .com в строке виртуального хоста ..., и когда я зацензурил адрес в вопросе, ошибка исчезла, но ваш ответ у меня такой же правильный, как и есть на этот вопрос..

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.