@pfaffman — O @Matthew_Lucas já está usando o template com soquetes, no entanto…
Eu definitivamente estou usando localhost para meu proxy externo, e isso deve funcionar com a configuração expose. Eu não esperaria que fosse necessário usar o IP do docker. E eu não esperaria que isso falhasse apenas com o Apache na frente do container docker por esse motivo.
Você pode precisar de configuração de cabeçalho — veja Add an offline page to display when Discourse is rebuilding or starting up - #2 by codinghorror
Eu tenho feito o meu melhor para esquecer a configuração do Apache, mas esta seção da configuração do nginx é algo que você gostaria de descobrir como replicar com o Apache, eu acho.
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
Em particular, eu não acho que funcione corretamente sem o cabeçalho Host.
Como você não está usando HTTPS, você deve ser capaz de usar o tcpdump para capturar rastros de pacotes para ver exatamente o que está dando errado.
NO ENTANTO, por que colocar o Apache aí? É apenas um passo extra. Se eu estivesse tentando algo assim, eu configuraria o balanceador de carga da Amazon para falar diretamente com a porta 8000 na instância EC2. Eu assumo que você está terminando o HTTPS no ELB de qualquer maneira. Eu suspeito que o balanceador de carga deles conhece os cabeçalhos normais a serem adicionados sem que você precise especificá-los, mas se não, obviamente vá em frente e defina-os. Apenas certifique-se de que a porta seja acessível através do firewall.
Eu duvido que eu tenha muito mais de valor a contribuir aqui, mas espero que parte disso ajude você com sua configuração. Boa sorte.