Nuxt с Apache2 возвращает ошибку прокси 502: ошибка чтения с удаленного сервера

#ubuntu #apache2 #nuxt.js #vps #lets-encrypt

#ubuntu #apache2 #nuxt.js #vps #позволяет зашифровать

Вопрос:

У меня есть VPS с Ubuntu 18.04 и Apache 2.4.29. При запуске npm run start все работает, если я получаю доступ к своей странице через http://example.com .

Я установил сертификат Let’s Encrypt, включил https в nuxt.config.js , так что теперь nuxt продолжает прослушивание https://example.com .

Моя example.com-le-ssl.conf в sites-available папке Apache выглядит следующим образом:

 <IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin email@example.com
        DocumentRoot /var/www/example.com

        ServerName example.com
        ServerAlias www.example.com

        SSLEngine On
        SSLProxyEngine On

        ProxyPreserveHost On
        ProxyPass / https://123.123.12.123:3000/
        ProxyPassReverse / https://123.123.12.123:3000/

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        Include /etc/letsencrypt/options-ssl-apache.conf
        SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

</VirtualHost>
</IfModule>
  

При доступе https://example.com возвращает ошибку прокси 502:

 Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request

Reason: Error reading from remote server

Apache/2.4.29 (Ubuntu) Server at example.com Port 443
  

Это проблема с nuxt или с некоторыми другими настройками Apache? Или что-то с сертификатом? Но https работает, если я не использую ProxyPass с портом 3000 и я не запускаю приложение nuxt. Так https://example.com работает, но не тогда, когда я пытаюсь запустить nuxt на порту 3000 и использовать ProxyPass для использования внутреннего сервера.

Мой файл error.log:

 [Thu Aug 13 14:11:12.935753 2020] [proxy:error] [pid 22355:tid 140240589145856] [client 87.197.115.218:63122] AH00898: Error reading from remote server returned by /
[Thu Aug 13 14:11:13.009134 2020] [proxy_http:error] [pid 22355:tid 140240580753152] (103)Software caused connection abort: [client 87.197.115.218:63122] AH01102: error reading status line from remote server 123.123.12.123:3000
  

Ответ №1:

Проблема заключалась в том, что я включил https в nuxt.config.js , а затем в example.com-le-ssl.conf использовал ProxyPass для этого https. Решением для меня было запустить nuxt по http, а также изменить https на http в моем example.com-le-ssl.conf файле.