O aplicativo que está sendo intermediado por proxy não está falando HTTP válido. O que quer que esteja voltando do processo nodejs em resposta à solicitação HTTP que o Apache está fazendo não é HTTP. Não sei mais como explicar isso ...
Eu tenho o servidor nodejs e algum conteúdo estático para servir. Eu estou usando o Apache 2.4 para este fim, pois preciso configurar vários hosts na mesma máquina.
Tenho a seguinte configuração para meu host virtual no meu apache 2.4
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName mydomain.co.in
ServerAlias mydomain.co.in
ProxyPass /api http://127.0.0.1:3001/api
ProxyPassReverse /api http://127.0.0.1:3001/api
DocumentRoot /root/VEFA-test-admin/vefa-admin/platforms/browser/www
<Directory /root/VEFA-test-admin/vefa-admin/platforms/browser/www>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/encrypt/live/mydomain.co.in/fullchain.pem
SSLCertificateKeyFile /etc/encrypt/live/mydomain.co.in/privkey.pem
</VirtualHost>
</IfModule>
E meu servidor nodejs está sendo executado na portt 3001 na mesma máquina. O problema é que o usuário que acessa meu site usando mydomain.co.in consegue ver a página. Mas, em um cenário, estou redirecionando o usuário para o gateway de pagamento e o gateway de pagamento está redirecionando o usuário bak em meu site após o pagamento. O problema ocorre quando o gateway de pagamento redireciona o usuário para o meu site.
O log de erros do apache diz isso:
[Thu Sep 07 12:08:06.291298 2017] [proxy_http:error] [pid 12226:tid 139763780601600] (20014)Internal error (specific information not available): [client 219.91.211.175:11159] AH01102: error reading status line from remote server 127.0.0.1:3001, referer: https://test.payumoney.com/payment/postBackParam.do
[Thu Sep 07 12:08:06.291358 2017] [proxy:error] [pid 12226:tid 139763780601600] [client 219.91.211.175:11159] AH00898: Error reading from remote server returned by /api/u/payments/success, referer: https://test.payumoney.com/payment/postBackParam.do
O que estou fazendo errado ??
Eu tentei todas as soluções que estou mencionando abaixo
Eu tentei usar o Keepalive, o ProxyBadHeader Ignore, mas nada me ajudou. Alguém pode me ajudar?
Tags apache-2.4 node.js proxypass