我需要安装MediaWiki才能要求使用https(并拒绝普通的http)。我花了2个小时看。设置$wgServer
不起作用,关闭httpd.conf
中的端口80也不起作用。
我的wiki安装在Apache服务器上运行。
答案 0 :(得分:7)
我刚刚在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
可能就够了)
答案 1 :(得分:6)
我的回答是假设你已经让Apache在端口443上监听https流量。如果不是这样,你需要先设置它。根据您运行的操作系统,该过程将有所不同。
您想在Apache中执行此操作。在我的Ubuntu系统上,有一个文件/etc/apache2/ports.conf
,其中包含以下行:
Listen 80
您将拥有一个包含该行的类似配置文件。删除它,不要忘记重启Apache。
实现此目的的另一种方法是允许在允许HTTP访问网站某些部分的情况下进行更复杂的Apache配置,即在MediaWiki目录中使用.htaccess
file。试试这个:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
答案 2 :(得分:0)
鉴于您的网络服务器设置为一般支持 https
,请在 MediaWiki 的 LocalSettings.php
配置文件中插入或更新以下行:
$wgForceHTTPS = true;
这会将所有使用 http
的查询重定向到 https
,并且是网络服务器配置中重定向规则的替代方法。
另见: