У меня есть сервер nodejs и некоторый статический контент для обслуживания. Я использую apache 2.4 для этой цели, так как мне нужно настроить несколько хостов на одной машине.
У меня есть следующая конфигурация для моего виртуального хоста в моем apache 2.4
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin admin@mydomain.co.in
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>
И мой сервер nodejs работает на порту 3001 на той же машине. Проблема в том, что пользователь, который будет получать доступ к моему сайту с помощью mydomain.co.in, увидит страницу. Но в одном сценарии я перенаправляю пользователя на платежный шлюз, а платежный шлюз перенаправляет пользователя bak на мой сайт после оплаты. Проблема возникает, когда платежный шлюз перенаправляет пользователя на мой сайт.
В журнале ошибок apache указано следующее:
[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
Что я здесь не так делаю ??
Я пробовал все решения, о которых упоминал ниже
У меня есть пытался использовать Keepalive, ProxyBadHeader Ignore, но мне ничего не помогло. Может ли кто-нибудь мне помочь?
Приложение, к которому выполняется проксирование, не передает действующий HTTP. Все, что возвращается от процесса nodejs в ответ на HTTP-запрос, который делает Apache, не является HTTP. Не знаю, как еще это объяснить ...