proxy reverso Nginx https configurado no Amazon EC2

1

Estou executando o Ubuntu 14.04.3 e o Nginx 1.4.6 no Amazon EC2. Eu estou tentando configurar um proxy reverso para o meu aplicativo na porta 8000, que eu posso ver em execução quando vou para www.mywebsite.com:8000. O proxy reverso deve redirecionar todo o tráfego http para https e, em seguida, servir o aplicativo.

Aqui está minha configuração habilitada para sites:

server {
  listen 80;
  server_name mywebsite.com
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl;
  server_name mywebsite.com

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

  ssl on;
  ssl_certificate     /etc/nginx/ssl/certificate.crt;
  ssl_certificate_key /etc/nginx/ssl/key.key;
  keepalive_timeout   60;

  ssl_ciphers             HIGH:!ADH:!MD5;
  ssl_protocols           TLSv1;
  ssl_prefer_server_ciphers on;

  proxy_buffers 16 64k;
  proxy_buffer_size 128k;

location / {
    proxy_pass  http://IPADDRESS:8000;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_redirect off;
    proxy_read_timeout 60m;

    proxy_set_header    Host            $host;
    proxy_set_header    X-Real-IP       $remote_addr;
    proxy_set_header    X-Forwarded-Host $http_host;
    proxy_set_header    X-Forwarded-Server $host;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Proto https;
    proxy_set_header    Front-End-Https On;
}
}

Primeiro, usei localhost como meu IPAddress, mas depois de ler esta pergunta que sugere usar IP privado do ec2, não o público, eu tentei isso também. Mas sem charuto.

Eu tenho um terminal aberto que é ssh'd em meu aplicativo, para que eu possa ver quando uma solicitação http chegar, o que aconteceu quando visitei mywebsite.com:8000. No entanto, o www.mywebsite.com é uma página em branco que, eventualmente, recebe um tempo de espera, e meu aplicativo mostra que ele não recebeu a solicitação inicial. O Nginx é o único aplicativo que escuta na porta 80 & 443.

Meus registros de erro e acesso também estão vazios. Alguém pode ver o que está acontecendo?

Atualizar

O Nginx estava escutando na porta 80, no entanto, uma tentativa de cURL retornou com a conexão recusada, e meus padrões do iptables foram alterados. O fluxo de volta para o tráfego permitido padrão atingiu o Nginx.

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

É interessante usar o endereço IP privado do Ec2 quando o proxy não era necessário, pois o localhost funcionava bem.

    
por BJacks 22.09.2015 / 10:13

0 respostas