nginx redirecionamento http para o loop infinity https

2

Eu tenho meu arquivo de configuração. Este é um antigo.

server {
      listen 80;

      server_name  .lala.mana.lan;

      access_log /var/log/nginx/lala.access.log;
      error_log  /var/log/nginx/lala.error.log;

      proxy_conect_timeout  600;
      proxy_send_timeout    600;
      proxy_read_timeout    600;
      send_timeout          600;

      location / {
        proxy_pass    http://lala
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;

        proxy_redirect off;
    }

      location ~* /web/static/{
        proxy_cache_valid 200 60m;
        proxy_buffering    on;
        proxy_pass http://lala;
    }
    }

E agora estou tentando fazer um redirecionamento de um site para outro de http para https. Aqui está o meu arquivo de configuração editado:

server {
  listen 80;
  listen 443 ssl;

  ssl_certificate /etc/ssl/mana.crt;
  ssl_certificate_key /etc/ssl/mana.key;

  server_name  .lala.mana.lan;
  return 301
  https://lala.mana.lt$request_uri;

  access_log /var/log/nginx/lala.access.log;
  error_log  /var/log/nginx/lala.error.log;

  proxy_conect_timeout  600;
  proxy_send_timeout    600;
  proxy_read_timeout    600;
  send_timeout          600;

  location / {
    proxy_pass    http://lala
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;

    proxy_redirect off;
}

  location ~* /web/static/{
    proxy_cache_valid 200 60m;
    proxy_buffering    on;
    proxy_pass http://lala;
}

client_header_buffer_size 64k;
large_client_header_buffers 4 64k;
}
    
por fueggit 10.03.2017 / 23:35

1 resposta

0

Você precisa ter blocos separados para http e https para redirecionar de um para outro.

Então, sua configuração deve ficar assim:

server {
    listen 80;
    server_name lala.man.lt;

    return 301 https://lala.man.lt$request_uri;
}

server {
    listen 443 ssl;
    server_name lala.man.lt;

    ssl_certificate /etc/ssl/mana.crt;
    ssl_certificate_key /etc/ssl/mana.key;

    access_log /var/log/nginx/lala.access.log;
    error_log  /var/log/nginx/lala.error.log;

    proxy_conect_timeout  600;
    proxy_send_timeout    600;
    proxy_read_timeout    600;
    send_timeout          600;

    location / {
        proxy_pass    http://lala
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;

        proxy_redirect off;
    }

    location /web/static/ {
        proxy_cache_valid 200 60m;
        proxy_buffering    on;
        proxy_pass http://lala;
    }

    client_header_buffer_size 64k;
    large_client_header_buffers 4 64k;
}

Também consertei seu bloco /web/static location para usar correspondência de prefixo simples, envolvendo correspondência de regex que não é necessária.

    
por 11.03.2017 / 16:41