fragen stichworte

Konfigurieren von SSL mit virtuellen Hosts unter Apache und CentOS

Ich habe zwei Websites, die von einer CentOS-Instanz aus bedient werden. Eines davon ist SSL aktiviert, das andere wird nur an Port 80 bereitgestellt.

http://siteone.com und https://siteone.com funktionieren also gut, genau wie http://sitetwo.com.

Das Problem ist, dass https://sitetwo.com https://siteone.com anzeigt.

Ich habe eine öffentliche IP-Adresse zur Verfügung.

Ich denke, es ist der Fall, dass ich nicht zwei https-Sites von einer IP aus bedienen kann, aber gibt es zumindest eine Möglichkeit, https für https://sitetwo.com an Port 80 umzuleiten, anstatt die falsche Site zu bedienen?

sudo apachectl -S
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using xxx.xxx.xxx.xxx. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:

▽
xxx.xxx.xxx.xxx:443     siteone.com (/etc/httpd/sites-enabled/ssl-siteone.conf:1)
*:80                   is a NameVirtualHost
         default server beta-siteone (/etc/httpd/sites-enabled/beta-siteone.conf:1)
         port 80 namevhost beta-ilegis (/etc/httpd/sites-enabled/beta-siteone.conf:1)
                 alias beta.siteone.com
         port 80 namevhost siteone.com (/etc/httpd/sites-enabled/siteone.conf:1)
                 alias www.siteone.com
         port 80 namevhost sitetwo.com (/etc/httpd/sites-enabled/sitetwo.com.conf:1)
                 alias www.sitetwo.com
*:443                  is a NameVirtualHost
         default server xxx.xxx.xxx.xxx (/etc/httpd/conf.d/ssl.conf:56)
         port 443 namevhost xxx.xxx.xxx.xxx (/etc/httpd/conf.d/ssl.conf:56)
         port 443 namevhost xxx.xxx.xxx.xxx (/etc/httpd/sites-enabled/ssl-sitetwo.com.conf:1)
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex ssl-stapling: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48
Group: name="apache" id=48

antworten

Zwei https können in einer IP bereitgestellt werden. Sie müssen nur überprüfen, ob die Konfiguration des virtuellen Hosts funktioniert.

Sind Sie sicher, dass Ihr Virtualhost funktioniert? Sie können diese Konfiguration in Site-Available verwenden.

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot/var/www/example.com/public_html
    ErrorLog/var/www/example.com/error.log
    CustomLog/var/www/example.com/requests.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example2.com
    DocumentRoot/var/www/example2.com/public_html
    ServerAlias example2.com
    ErrorLog/var/www/example2.com/error.log
    CustomLog/var/www/example2.com/requests.log combined
</VirtualHost>

Folgen Sie der Anleitung hier

Wenn Sie sich bezüglich der Konfiguration Ihres virtuellen Hosts sicher sind, können Sie die Konfiguration wie folgt ändern:

<VirtualHost *:443>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot/var/www/example.com/public_html
    ErrorLog/var/www/example.com/error.log
    CustomLog/var/www/example.com/requests.log combined
    SSLEngine on
    SSLCertificateFile/etc/apache2/ssl/example/apache.crt
    SSLCertificateKeyFile/etc/apache2/ssl/example/apache.key
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example2.com
    DocumentRoot/var/www/example2.com/public_html
    ServerAlias example2.com
    ErrorLog/var/www/example2.com/error.log
    CustomLog/var/www/example2.com/requests.log combined
    SSLEngine on
    SSLCertificateFile/etc/apache2/ssl/example2/apache.crt
    SSLCertificateKeyFile/etc/apache2/ssl/example2/apache.key
</VirtualHost>

Vielleicht können Sie sich auf dieses für das SSL-Tutorial beziehen.

Und schließlich können Sie wie folgt auf Ihr Web zugreifen https://example.com
https://example2.com