#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
файле.