Итак, я только что установил MediaWiki впервые и у меня возникла странная проблема, решение которой я не могу найти. Последние полчаса я сканировал справочные документы, искал в Google и читал статьи, но не могу найти ответ.
Все работает нормально, за исключением страницы 404, четыре символа мусора выводятся перед HTML. Все остальные страницы выглядят хорошо, только 404-е. Они разные на каждом и смотрят на меня в шестнадцатеричном формате, я видел цифры и ни одной буквы выше f.
Примеры
Я переустанавливал его дважды с одной и той же проблемой каждый раз.
Настройка системы
- Centos 5.6
- Apache 2.2.3, работающий с обратным прокси-сервером nginx (0.8.55)
- PHP 5.3.2
- MySQL 5.0.77
Конфиги сервера
Apache
<VirtualHost 127.0.0.1:8080>
DocumentRoot /home/sites/oneltd.co.uk/wiki
ServerName wiki.oneltd.co.uk
Alias /wiki /home/sites/oneltd.co.uk/wiki/index.php
<Directory "/home/sites/oneltd.co.uk/wiki">
Allowoverride all
</Directory>
CustomLog /home/sites/oneltd.co.uk/_logs/access_log "combined"
ErrorLog /home/sites/oneltd.co.uk/_logs/error_log
</VirtualHost>
Nginx
server {
listen 205.186.146.37:80;
server_name wiki.oneltd.co.uk;
server_name_in_redirect off;
access_log /home/sites/oneltd.co.uk/_logs/nginx.access_log;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ \.(jpg|jpeg|png|gif|swf|flv|mp4|mov|avi|wmv|m4v|mkv|ico|js|css|txt|html|htm)$ {
root /home/sites/oneltd.co.uk/wiki;
gzip on;
gzip_comp_level 2;
gzip_vary on;
gzip_proxied any;
gzip_types text/plain text/xml text/css application/x-javascript;
expires max;
}
}
Любая помощь или идеи о том, где искать, будет принята с благодарностью:)
РЕДАКТИРОВАТЬ - ИСПРАВЛЕНО ПРОБЛЕМА!
Благодаря ответу Грега Хьюгилла о кусочной кодировке мне удалось найти проблему. Оказывается, что nginx не может общаться по HTTP / 1.1 при работе в качестве обратного прокси, но вы можете заставить Apache понизиться до 1.0. Я нашел ответ после прочтения о аналогичная проблема с Drupal
Обновлена конфигурация Apache:
<VirtualHost 127.0.0.1:8080>
DocumentRoot /home/sites/oneltd.co.uk/wiki
ServerName wiki.oneltd.co.uk
Alias /wiki /home/sites/oneltd.co.uk/wiki/index.php
<Directory "/home/sites/oneltd.co.uk/wiki">
Allowoverride all
</Directory>
CustomLog /home/sites/oneltd.co.uk/_logs/access_log "combined"
ErrorLog /home/sites/oneltd.co.uk/_logs/error_log
# nginx can't deal with HTTP/1.1 at the moment, force downgrade to 1.0
SetEnv force-response-1.0 1
SetEnv downgrade-1.0 1
</VirtualHost>