LINUX.ORG.RU

[nginx] Обработка SSI в ответе от бэкэнда

 


0

0

Никак не могу заставить nginx обрабатывать SSI вкрапления в ответе от бэкэнда (apache).

При такой настройке nginx.conf они не обрабатываются:

server {
  server_name localhost;
  listen 80;
  access_log /var/log/nginx/localhost.access.log;
  root /var/www/localhost;
  location / {
    ssi on;
    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;
  }
}
Подскажите как правильно это делать?


Ответ на: комментарий от iSage

В /var/www/localhost 3 файла.

1. ssi.html:

html: <!--#include virtual="/ssi.inc.html" -->
php: <!--#include virtual="/ssi.inc.php" -->

2. ssi.inc.html:

<b>ssi.inc.html</b>

3. ssi.inc.php:

<?php
print '<b>ssi.inc.php</b>';

Результат (http://localhost/ssi.html):

html: php:

Без строки proxy_pass в nginx.conf, SSI работает.

На всякий случай httpd.conf:

<VirtualHost *:8080>
  ServerName localhost
  DocumentRoot /var/www/localhost
  ErrorLog /var/log/apache2/localhost.error.log
  CustomLog /var/log/apache2/localhost.access.log combined
</VirtualHost>

Пробовал на nginx 0.7.67 и 0.8.43.

temp13
() автор топика
Ответ на: комментарий от temp13

В результате вставки есть или нет? А то их вполне может обрабатывать апач.

У меня с fastcgi_pass ssi работает.

iSage ★★★★
()
Ответ на: комментарий от iSage

Всё. Спасибо.

Действительно с fastcgi_pass никаких проблем, хотя в апаче mod include отключён.

Теперь всё работает да и от апача избавился. Проблема скорее всего в proxy_pass. Если есть proxy_pass то ssi не обрабатывается.

(Ну и головняк же настраивать nginx и php-cgi на etch'е.)

temp13
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.