Прокси Nginx не передает URL в структуре контроллера / действия в Apache2

Я использую Nginx в качестве прокси с Apache2 позади него. Текущий конфиг работает, и я могу получить доступ к сайту. Тем не менее, приложение PHP построено на Zend Framework 2 и использует URL-адреса в / controller / action / structure, и они не передаются в Apache2. Это приводит к тому, что каждая ссылка с домашней страницы на подстраницы не работает и перенаправляет на нашу страницу "Страница не найдена". URL, переданный в Apache2, - это /index.php вместо /controllerX/actionY

Конфигурация Nginx (VirtualHost)

server {
    listen 80;

    root /var/www/talentina_dev/talentina-alpha-temp/public/;
    index index.php index.html index.htm;
    server_name dev-aws.talentina.com;

    location / {
            try_files $uri $uri/ /index.php;
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $host;
            proxy_pass http://127.0.0.1:8080;

    }

    location ~ \.php$ {
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $host;
            proxy_pass http://127.0.0.1:8080;
    }

    location ~ /\.ht {
            deny all;
    }
}

Требование состоит в том, чтобы исходный URL-адрес был "/", чтобы попасть на домашнюю страницу, и я думаю, что он покрыт структурой location / {..}. Однако, поскольку я очень новичок в этом, я открыт для предложений.

Большое спасибо заранее!

ОБНОВЛЕНИЕ Добавление файла VirtualHost из Apache2

<VirtualHost 127.0.0.1:8080>
    ServerAdmin ...
    ServerName dev-aws.talentina.com
    ServerAlias dev-aws.talentina.com
    DocumentRoot /var/www/talentina_dev/talentina-alpha-temp/public/
    php_value error_reporting 6135
    <Directory />
            Options FollowSymLinks
            AllowOverride All
    </Directory>
    <Directory /var/www/talentina_dev/talentina-alpha-temp/public>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

1 ответ

Решение

Try_files строки тормозных URL. Вам не нужно это с прокси - удалите его. И вам, вероятно, этот блок тоже не нужен:

location ~ \.php$ {
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:8080;
Другие вопросы по тегам