google load balancer + nginx + symfony2

2

Estou tentando configurar um aplicativo escalável symfony2, então eu li esta página link

eu fiz tudo como eles disseram, está trabalhando com um simples conf nginx:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    # Make site accessible from http://localhost/
    server_name localhost;

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ /index.html;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
    }
}

com isso eu recebo uma verificação positiva de saúde e se eu tentar link eu recebo a página padrão do nginx.

Mas quando eu tento o conf do meu nginx real:

server {
listen 80;
server_name myapp-public.com;
root /usr/share/nginx/html/app-public/web;


recursive_error_pages off;

error_log /var/log/nginx/app_error.log;
access_log /var/log/nginx/app_access.log;

location / {
    try_files $uri /app.php$is_args$args;
}

# PROD
location ~ ^/app\.php(/|$) {
    internal;
    fastcgi_pass php:9000;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    fastcgi_index  index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param HTTPS off;
    fastcgi_intercept_errors on;
}
}

Quando eu tento o link , recebo o 502 Server Error. Mas quando eu tento o link , recebo meu aplicativo (eu abro o acesso http de todos para testar).

Além disso, todos os check health falham. Eu realmente não entendo o que há de errado, alguma ideia?

Obrigado.

    
por anthony 14.06.2016 / 07:14

1 resposta

0

Depois de ler o seu comentário aqui é o que eu acho que foi o meu problema @George

Você precisa ter em mente que, se a integridade da verificação falhar, não haverá redirecionamento para a instância específica. == > Então eu crio um conf padrão para o meu nginx (eu adiciono ssl no conf)

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 301 https://$host$request_uri;
}



server {
    listen 443 ssl;
    server_name _;
    ssl_certificate /etc/nginx/ssl/secure.crt;
    ssl_certificate_key /etc/nginx/ssl/mysecure.key;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

Segundo, você precisa aceitar o tráfego do seu balanceador de carga e da verificação de integridade do google para a porta 80 da instância (e 443 no meu caso) cf.

== > link

Espero que isso ajude você, se você quiser mais detalhes, ou se você não entender alguma coisa, apenas me diga, eu vou tentar explicar mais.

PS: Desculpe pela espera

    
por 02.01.2017 / 23:32