为什么 apache2 不重定向到 https,或者不按照我对 mediawiki 的预期进行操作?

Why isn't apache2 redirecting to https, or acting how I expect with mediawiki?

我在 Ubuntu 14.04 上有一个 mediawiki 站点,它运行良好,位于 /var/www/html

我正在尝试在服务器上设置 https,但我还没能完成。这是我当前的 80 端口配置,我将在下面展示我正在尝试的内容。

/etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    ServerName mywiki.com
    ServerAlias http://mywiki.com
    DocumentRoot /var/www/html
</VirtualHost>

/var/www/html/LocalSettings.php

#this is the only relevant line...I think.
$wgServer = "http://mywiki.com"

我所做的更改按顺序如下

1.$wgServer 值更改为 //mywiki.com

2.编辑/etc/apache2/sites-available/default-ssl.conf如下

<VirtualHost _default_:80>
    ServerName mywiki.com
    Redirect permanent / https://mywiki.com
</VirtualHost>

<VirtualHost _default_:443>
    ServerName mywiki.com
    ServerAlias https://mywiki.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

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

    SSLEngine on

    SSLCertificateFile /etc/apache2/ssl/my.crt
    SSLCertificateKeyFile /etc/apache2/ssl/my.key
</VirtualHost>

3. 通过 运行 sudo a2dissite 000-default.

阻止 apache 使用旧的 000-default.conf 文件

4. 运行 sudo a2ensite default-ssl.

开始使用新的 ssl 默认文件

5. 重启 Apache2 sudo /etc/init.d/apache2 restart

此时,apache2 正确重启,输出和 error.log 中都没有错误。但是,当我通过键入 mywiki.com 访问该站点时,它不会将我重定向到 https,现在它将站点的 :80 部分显示为 Index of / html/

当我尝试手动转到 https://mywiki.com 时,我看到一个页面不可用,就像它根本没有尝试一样。

我哪里错了?

您缺少服务器名称。可能就是这样。你能试试这个配置吗:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName mywiki.com
    Redirect permanent / https://mywiki.com
</VirtualHost>

<VirtualHost _default_:443>
    ServerName mywiki.com
    ServerAlias www.mywiki.com
    DocumentRoot /var/www/html
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/my.crt
    SSLCertificateKeyFile /etc/apache2/ssl/my.key
</VirtualHost>

这是一个愚蠢的解决方案,但我想在像 mediawiki 这样的产品上,我不会是最后一个犯这个错误的人。

我从未启用 ssl 模块

sudo a2enmod ssl

我浏览了数十篇有关如何在 mediawiki 上设置 ssl 的教程,其中 none 提到了这一点。如果你在很多网站上工作,这是很明显的,但我没有,希望这对以后的人有所帮助。