apache заставляет все домены и IP-адрес сервера загружать HTTPS - PullRequest
0 голосов
/ 11 ноября 2019

Я использую apache 2.4 и php 7.3, я загрузил 2 сервера на сервер, один из которых я хочу загрузить по обычному HTTP, а другой по HTTPS, поэтому я установил cert-бот для Lets EncryptSSL.

Допустим, домен A для HTTPS, а домен B для HTTP

domainA загружается по протоколу HTTPS очень хорошо.

domainB пытается загрузить по протоколу HTTPS, дажекогда я вручную набираю http, он перенаправляет и браузер блокирует сообщение о том, что сертификат плох, потому что он исходит от домена A . (VHost выглядит правильно настроенным)

Затем я проверил загрузку определенного IP-адреса сервера, и даже IP-адрес пытается загрузить также через https, что не имеет смысла.

файл виртуального хоста:

<VirtualHost *:80>
    DocumentRoot /var/www/html/production/domainA.com/public
    ServerName www.domainA.com

    RewriteEngine On

    RewriteCond %{SERVER_PORT} ^80$
    RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot /var/www/html/production/domainA.com/public
    ServerName domainA.com
    ServerAlias www.domainA.com

    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^(.*)$ https://%1$1 [L,R=301]

    SSLEngine on
    SSLCertificateKeyFile /etc/letsencrypt/live/domainA.com/privkey.pem
    SSLCertificateFile /etc/letsencrypt/live/domainA.com/cert.pem
    SSLCertificateChainFile /etc/letsencrypt/live/domainA.com/fullchain.pem
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot /var/www/html/production/domainB.com/public
    ServerName www.domainB.com
</VirtualHost>

Я даже не загружаю SSL на домен B , не уверен, что мне не хватает, или где я долженсмотрю? Меня беспокоит то, что фактический IP-адрес сервера делает то же самое.

ОБНОВЛЕНИЕ : Похоже, что сервер загружается первым в файле conf, это то, на что сервер смотрит как по умолчанию, при перемещении domainB к первому домену теперь можно загружать не http.

...