O proxy Nginx não passa o url em uma estrutura de comando / ação para o Apache2

1

Estou usando o Nginx como um proxy com o Apache2 por trás dele. A configuração atual funciona e eu posso acessar o site. No entanto, a aplicação PHP é construída sobre o Zend Framework 2 e depende de urls em / controller / action / structure e estes não são passados para o Apache2. Isso faz com que todos os links da página inicial para as subpáginas sejam quebrados e redirecionados para a página "Página não encontrada". A URL passada para o Apache2 é /index.php em vez de / controllerX / actionY

Configuração do 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;
    }
}

Um requisito é que o URL inicial seja "/" para chegar à página inicial e acho que está coberto pela estrutura location / {..}. No entanto, desde que eu sou muito novo para isso, estou aberto a sugestões.

Muito obrigado antecipadamente!

ATUALIZAÇÃO Adicionando o arquivo VirtualHost do 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>
    
por Gnagy 12.12.2013 / 12:43

1 resposta

3

URLs de freio de linha Try_files . Você não precisa dele com o proxy - remova-o. E você provavelmente não precisa deste bloco também:

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;
    
por 12.12.2013 / 12:50