不同端口上的多个 SSL 配置

不同端口上的多个 SSL 配置

我已经搜索了一段时间,但找不到具体答案。我在 CentOS 环境中配置了一个服务器,在我的 vhost.conf 中有以下配置:

<VirtualHost *:80>
    DocumentRoot /xyz/dir
    DirectoryIndex index.html index.php
    CustomLog /var/log/xyz/access.log common
    ErrorLog /var/log/xyz/error.log
    <Directory /xyz/dir>
        Options +Includes +FollowSymLinks -Indexes -ExecCGI
        AllowOverride FileInfo AuthConfig
        Require all granted
    </Directory>
</VirtualHost>


<VirtualHost *:83>
    DocumentRoot /abc/dir
    DirectoryIndex index.html index.php
    CustomLog /var/log/abc/access.log common
    ErrorLog /var/log/abc/error.log
    <Directory /abc/dir>
        Options +Includes +FollowSymLinks -Indexes -ExecCGI
        AllowOverride FileInfo AuthConfig
        Require all granted
    </Directory>
</VirtualHost>

如您所见,我已在具有相同 IP 的不同端口上配置了 2 个站点。现在,我尝试在两个站点上配置 SSL,我希望在两个站点上同时激活 http 和 https。

我进行了一些搜索并使用 ssl 进行了配置,并添加了以下内容:-

<VirtualHost _default_:443>
    SSLEngine on
    SSLProtocol All -SSLv2 -SSLv3
    SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:+SSLv3
    SSLCACertificateFile /path-to-ca-bundle
    SSLCertificateFile /path-to-crt
    SSLCertificateKeyFile path-to-key
    SSLVerifyClient none
    SSLVerifyDepth 10
    DocumentRoot /xyz/dir
    ServerName 1.1.1.1:80
    DirectoryIndex index.html index.php
    CustomLog /var/log/xyz/access.log common
    ErrorLog /var/log/xyz/error.log
    <Directory /xyz/dir>
        Options +Includes +FollowSymLinks -Indexes -ExecCGI
        AllowOverride FileInfo AuthConfig
        Require all granted
    </Directory>
</VirtualHost>

# Did the same for :83

现在当我点击时这工作正常

https://1.1.1.1/ --> points to xyz
http://1.1.1.1/ --> points to xyz

http://1.1.1.1:83/ --> points to abc
https://1.1.1.1:83/ --> throws ssl_error_rx_record_too_long error

:83 上的 https 不起作用。需要帮助!

相反https://1.1.1.1:80/ --> throws ssl_error_rx_record_too_long errorhttps://1.1.1.1/ --> works just fine and points to xyz

答案1

实际上,您不能在同一端口上运行 HTTP 和 HTTPS 服务。这就是为什么两种协议的默认端口不同(分别为 80 和 443)。这意味着端口 83 上的服务可以任何一个HTTP或者HTTPS,但不能同时使用。您需要选择一个单独的端口以用于其他协议。

相关内容