如何在 Apache 上为多个端口启用 SSL? (有错误)

如何在 Apache 上为多个端口启用 SSL? (有错误)

我需要为 443 以上的端口启用 SSL。我已经尝试过这种方式:

首先,我将端口添加到 ports.conf 中

Listen 8081

之后我在 Apache 中编辑了我的 vHost:

<VirtualHost *:8081>

    Here are my other settings.... (not important I think)

    SSLEngine On
    SSLCertificateFile /the/certificate/file
    SSLCertificateKeyFile /the/key/file
</VirtualHost>

之后我尝试重新启动我的 apache 但它说配置错误并且服务器不会再次启动。在我尝试添加 SSL 之前,我的 vHost 可以正常工作,因此问题不是我的其他配置。

在错误日志中,我在这里找到了这个:Caught SIGTERM, shutdown

我目前正在为我的网站运行标准 SSL 端口 443,并在 apache 的标准 SSL 配置中进行配置。

******** 更新 ********

这是完整的配置文件:

# phpMyAdmin default Apache configuration

<VirtualHost *:8081>
    Alias /phpMyAdmin /usr/share/phpmyadmin

    <Directory /usr/share/phpmyadmin>
        Order Deny,Allow
        Deny from All
        Allow from 127.0.0.1

        SSLEngine on
        SSLCertificateFile .....
        SSLCertificateKeyFile .....

        Options FollowSymLinks
        DirectoryIndex index.phpMyAdmin

        <IfModule mod_php.c>
            <IfModule mod_mine.configuration>
                AddType application/x-httpd-php .php
            </IfModule>
            <FilesMatch ".+\php$">
                SetHandler application/x-httpd-php
            </FilesMatch

            php_flag magic_quotes_gpc Off
            php_flag track_vars On
            php_flag register_globals Off
            php_admin_flag allow_url_fopen On
            php_value include_path .
            php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
            php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/ph$
        </IfModule>
    </Directory>

    # Authorize for setup
    <Directory /usr/share/phpmyadmin/setup>
        <IfModule mod_authz_core.c>
            <IfModule mod_authm_file.c>
                AuthType Basic
                AuthName "phpMyAdmin Setup"
                AuthUserFile /etc/phpmyadmin/htpasswd.setup
            </IfModule>
            Require valid-user
        </IfModule>
    </Directory>

</VirtualHost>

答案1

我刚刚完成了 apache2 的设置,并且我按照您的要求进行了更新。

端口配置文件

Listen 80

<IfModule ssl_module>
#       Listen 443
        Listen 8081
</IfModule>

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

虚拟主机配置文件

<VirtualHost *:8081>
        ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/my-site

        LogLevel info ssl:warn

        SSLEngine On
        SSLCertificateFile /your/cert.cert
        SSLCertificateKeyFile /your/key.key

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

</VirtualHost>

附注我的SSLEngine On就是这么写的,还是可以的。我认为这个问题不应该在那里搜索。

相关内容