使用虚拟主机将 http 转换为 https

使用虚拟主机将 http 转换为 https

我正在尝试将 trac 移至安全连接。我想使用 https。

当我输入 *:80 并注释掉 ssl 引擎时,虚拟主机文件工作正常。每当我将其更改为 ssl 时,它都不会通过 443 响应。

有任何想法吗?

我尝试过这个:

<VirtualHost *:443>

   ServerAdmin [email protected]
   ServerName trac.domain.com

   DocumentRoot /var/www/trac/repos

        SSLEngine On
        SSLCertificateFile    /etc/ssl/certs/trac.domain.com.crt
        SSLCertificateKeyFile /etc/ssl/private/trac.domain.com.key

   <Directory /var/www/trac/repos>
    Order allow,deny
    allow from all
   </Directory>

    <Location />
      AuthType Basic
      AuthName "Trac"
      AuthUserFile /etc/apache2/passwords
      Require valid-user
    </Location>

    <Location />
      SetHandler mod_python
      PythonInterpreter main_interpreter
      PythonHandler trac.web.modpython_frontend
      PythonOption TracEnvParentDir /var/www/trac
      PythonOption TracUriRoot /
    </Location>

</VirtualHost>

但是当我使用它时,trac 无法访问

答案1

确保 Apache 正在监听端口 443,并确保您的防火墙允许该端口的入站流量。

在你的 Apache 配置中你需要这个,

Listen 443

在 Debian 上(你没有提到你的操作系统),它在 ports.conf 中,如下所示,

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

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

另外,不要忘记您还需要在 Apache 中加载正确的模块(如何加载取决于您的发行版)。

最后,确保您已在防火墙上打开端口 443。

答案2

首先检查linux命令,

# netstat -atnp | grep LISTEN

结果必须:

0.0.0.0:443

如果没有,您必须检查配置文件。

在顶部配置文件中,添加:

Listen *:443

然后重新启动 httpd。

相关内容