Назад | Перейти на главную страницу

проблемы с обратным прокси-сервером с nginx поверх apache2.4 на хостинге joomla: перезапись URL-адреса больше не работает

Я настраиваю сайт joomla 3.x с apache 2.4 на сервере ubuntu 14.04 на aws ec2. Только это нормально, если перезапись URL работает нормально. Я устранил все проблемы с apache перед тем, как освободить порт 80 для nginx.

У меня нет особых проблем с nginx, хотя я только начал его использовать, и это третье развертывание с ним. Я прекрасно справляюсь с базовыми вещами.

Я следил за учебником по Howtoforge . После настройки этого. Я понял, что правильно загружается только индексная страница, все остальные страницы ожидают index.php? промежуточный домен и симпатичные URL-адреса, например

 stage.domain.com/bla/bla # doesn't work
 stage.domain.com/index.php?/bla/bla/ # works

Я видел, как так много людей сталкивались с этой проблемой, но они либо размещают joomla непосредственно в nginx, либо напрямую в apache. Решения ситуаций, близких к nginx, перед хостингом apache joomla не будут работать на моем, вероятно, у меня нет надлежащего понимания nginx, поэтому, пожалуйста, терпите меня. Ниже представлены конфиги:

#/etc/nginx/site-enabled/stage.domain.com.vhost
server {
   listen 80;
   server_name www.stage.domain.com stage.domain.com;
   
   root /var/www/html/vhosts/stage.domain.com/htdocs_april;

   index index.php index.html;

   location / {
            try_files $uri @proxy;

   }

   location ~* \.(js|css|jpg|jpeg|gif|png|svg|ico|pdf|html|htm)$ {
        expires      5d;
   }

   location @proxy {
            proxy_pass_header Server;
            proxy_pass http://127.0.0.1:8000;
            include /etc/nginx/proxy_params;
   }

   location ~* \.php$ {
            proxy_pass http://127.0.0.1:8000;
            include /etc/nginx/proxy_params;
   }

Ниже приведены proxy_params (хотя он не показывает настоящий IP-адрес, в одном из моих многочисленных испытаний я смог его получить. Мне придется разобраться с этим после основной проблемы)

   #/etc/nginx/proxy_params
   proxy_set_header Host $http_host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;

Ниже приведена конфигурация портов apache2

   #/etc/apache2/ports.conf
   NameVirtualHost *:8000
   Listen 8000

   #Listen 80

   <IfModule ssl_module>
    Listen 443
   </IfModule>

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

Ниже виртуальный хост apache

<virtualhost *:8000>
    # Admin email, Server Name (domain name) and any aliases
    ServerAdmin some@domain.com
    ServerName stage.domain.com

    #RewriteEngine On
    # Index file and Document Root (where the public files are located)
    DirectoryIndex index.php index.html
    DocumentRoot /var/www/html/vhosts/stage.domain.com/htdocs_april/
    <Directory /var/www/html/vhosts/stage.domain.com/htdocs_april/>
       Options Indexes FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

   # php_flag log_errors on
    #php_flag display_errors off
    #php_value error_reporting 6143
    LogLevel warn
    ErrorLog  ${APACHE_LOG_DIR}/domain_error.log
    CustomLog ${APACHE_LOG_DIR}/domain_access.log combined
 </virtualhost>

Буду признателен, если кто-нибудь укажет на неверную настройку. Как упоминалось ранее, позвольте только apache, у меня нет проблемы с перезаписью URL. Спасибо.

Обновить:

Ошибка в журнале ошибок apache2, он не имеет ничего общего с 404 в nginx и имеет тот же результат при использовании index.php? /:

 #Info Level
 [Fri Feb 27 22:51:47.862668 2015] [:error] [pid 12511] [client 127.0.0.1:58301] PHP Warning:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in /var/www/html/vhosts/stage.domain.com/htdocs_april/templates/stage2013/functions/tpl-init.php on line 313

 #Debug Level
 [Fri Feb 27 22:51:47.977454 2015] [deflate:debug] [pid 12511] mod_deflate.c(849): [client 127.0.0.1:58301] AH01384: Zlib: Compressed 49347 to 11157 : URL /index.php
 [Fri Feb 27 22:51:47.977925 2015] [headers:debug] [pid 12511] mod_headers.c(845): AH01502: headers: ap_headers_output_filter()
 [Fri Feb 27 22:51:48.606561 2015] [authz_core:debug] [pid 12512] mod_authz_core.c(802):   [client 127.0.0.1:58304] AH01626: authorization result of Require all granted: granted, referer: http://stage.domain.com/
 [Fri Feb 27 22:51:48.606593 2015] [authz_core:debug] [pid 12512] mod_authz_core.c(802): [client 127.0.0.1:58304] AH01626: authorization result of <RequireAny>: granted, referer: http://stage.domain.com/
 [Fri Feb 27 22:51:48.607274 2015] [deflate:debug] [pid 12512] mod_deflate.c(849): [client 127.0.0.1:58304] AH01384: Zlib: Compressed 1537 to 544 : URL /templates/stage2013/html/mod_fpss/stage5/css/template.css.php, referer: http://stage.domain.com/
 [Fri Feb 27 22:51:48.607293 2015] [headers:debug] [pid 12512] mod_headers.c(845): AH01502: headers: ap_headers_output_filter()