ubuntu 1个IP上的多个SSL通配符[已关闭]

gijlo24d  于 6个月前  发布在  其他
关注(0)|答案(1)|浏览(54)

**已关闭。**此问题为not about programming or software development。目前不接受回答。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
15天前关闭
Improve this question
目前我的服务器有1个网站运行在https/ssl上。事情是当我启用第二个vhost时,也是https/ssl,我运行的第一个网站现在使用新网站的ssl证书。
我试过把两个网站在一个单一的vhost文件,没有工作,所以我做了2个单独的文件,而不是。
以下是我的vhost配置文件:
(将网站Z和网站Y按字母顺序排列)

vhost当前运行的网站.conf

<VirtualHost *:80>
ServerAlias *.websiteZ.nl
Redirect 301 / https://websiteZ.nl
</VirtualHost>

NameVirtualHost *:443

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName www.websiteZ.nl
    DocumentRoot "/var/www/html/websites/websiteZ.nl/public"
    <Directory "/var/www/html/websites/websiteZ.nl/public">
        Require all granted
        Options Includes FollowSymLinks
        AllowOverride All
        Order allow,deny   
        Allow from all
    </Directory>
    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/websiteZ.nl/certificate.crt
    SSLCertificateKeyFile /etc/apache2/ssl/websiteZ.nl/certificate.key
    SSLCertificateChainFile /etc/apache2/ssl/websiteZ.nl/cabundle.crt 
</VirtualHost>
</IfModule>

字符串

带有ssl .conf的新网站

<VirtualHost *:80>
    ServerName websiteY.nl
    ServerAlias www.websiteY.nl
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !443
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
    RewriteRule ^(/(.*))?$ https://%{HTTP_HOST}/$1 [R=301,L]
    DocumentRoot "/var/www/html/websites/websiteY.nl/public/"
    <Directory "/var/www/html/websites/websiteY.nl/public/">
        Require all granted
        Options Includes FollowSymLinks
        AllowOverride All
        Order allow,deny   
        Allow from all
    </Directory>
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName www.websiteY.nl
    DocumentRoot "/var/www/html/websites/websiteY.nl/public"
    <Directory "/var/www/html/websites/websiteY.nl/public">
        Require all granted
        Options Includes FollowSymLinks
        AllowOverride All
        Order allow,deny   
        Allow from all
    </Directory>
SSLStrictSNIVHostCheck on
   SSLEngine On
   SSLCertificateFile /etc/apache2/ssl/websiteY.nl/certificate.crt
   SSLCertificateKeyFile /etc/apache2/ssl/websiteY.nl/certificate.key
   SSLCertificateChainFile /etc/apache2/ssl/websiteY.nl/cabundle.crt
</VirtualHost>
</IfModule>

ports.conf

NameVirtualHost *:80
NameVirtualHost *:443

Listen 80

<IfModule mod_ssl.c>
    Listen 443
</IfModule>

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>


我查了SNI的东西,但我想我错过了一些东西。我理解的方式是,我必须使用NameVirtualHost使它工作。
服务器在AWS ece 2上运行,Ubuntu 16.04.2
当我输入终端时出现问题:

a2ensite websiteY.conf


当我这样做websiteZ将失去它的https证书,并会显示一个大红叉说:不安全!当你点击继续它链接到websiteY
我有点不知所措,有人能帮我吗?谢谢!

xfb7svmp

xfb7svmp1#

当您输入www.websiteZ.nl而不输入https时,请求将首先被

<VirtualHost *:80>
ServerAlias *.websiteZ.nl
Redirect 301 / https://websiteZ.nl
</VirtualHost>

字符串
因此重定向到https://websiteZ.nl
由于您的:443虚拟磁盘中没有任何一个配置了websiteZ.nlServerNameServerAlias,因此将使用第一个.conf文件中的虚拟磁盘,在本例中是具有websiteY cert的虚拟磁盘。

相关问题