我刚刚在 Ubuntu 14 上完成了这个(今天第一次,所以可能有更好的方法!)通过设置
$wgServer = "//myhostname.com/mediawiki";
这使服务器名称“与协议相关”,因此它适用于 HTTP 或 HTTPS。不过,您也许可以将其设置为 https://...。
然后配置apache2将所有HTTP流量重定向到HTTPS:
编辑默认 SSL 配置(假设您只是使用默认站点):
sudo vim /etc/apache2/sites-available/default-ssl.conf
阅读类似:
# Redirect HTTP to HTTPS
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
# Normal HTTPS config for default site
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ServerAdmin admin@example.com
ServerName example.com
DocumentRoot /var/www/html/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
启用默认 SSL 站点(如果您尚未启用)(这会创建从启用站点到可用站点的链接)
sudo a2ensite default-ssl
这假设您已经获得了一个 SSL 证书(我生成了一个自签名证书),该证书已放置在上面配置中引用的 /etc/apache2/ssl/apache.pem 和 /etc/apache2/ssl/apache.key 中。
终于让 apache 使用新的配置:
sudo service apache2 restart
(或者reload 可能就足够了)