У меня был следующий сайт. js, который я доделал до производственной среды, но из-за неожиданной проблемы мне пришлось переустановить сервер Ubuntu. До этого события я сделал git pu sh успешно. Я отдельно сделал резервную копию файлов .env и next.config. js. После переустановки Ubuntu 18 я сделал git клон, вернул .env, снова установил next.config. js, переустановил NGINX и активировал его ... в основном все, что можно, чтобы вернуться в рабочее состояние. Несмотря на все эти усилия, страницы блога не загружаются из-за этой ошибки (показывает это в консоли):
(из-за конфиденциальности, очевидно, это фиктивные значения)
$ sudo npm run dev
[sudo] password for mike:
> nextjs_frontend@1.0.0 dev /home/mike/mikeblogtime.com/frontend
> next
ready - started server on http://localhost:3000
The static directory has been deprecated in favor of the public directory. https://err.sh/vercel/next.js/static-dir-deprecated
event - compiled successfully
event - build page: /next/dist/pages/_error
wait - compiling...
event - compiled successfully
event - build page: /blog/[slug]
wait - compiling...
event - compiled successfully
FetchError: request to https://mikeblogtime.com/api/thought/FirstBlog-1594151883 failed, reason: Client network socket disconnected before secure TLS connection was established
at ClientRequest.<anonymous> (/home/mike/mikeblogtime.com/frontend/node_modules/node-fetch/index.js:133:11)
at ClientRequest.emit (events.js:315:20)
at TLSSocket.socketErrorListener (_http_client.js:426:9)
at TLSSocket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
type: 'system',
errno: 'ECONNRESET',
code: 'ECONNRESET'
}
TypeError: Cannot read property 'error' of undefined
at eval (webpack-internal:///./pages/blog/[slug].js:848:14)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async loadGetInitialProps (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/lib/utils.js:5:91)
at async loadGetInitialProps (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/lib/utils.js:5:18)
at async renderToHTML (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/server/render.js:24:937)
at async /home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/server/next-server.js:68:285
at async /home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/server/next-server.js:67:142
at async DevServer.renderToHTMLWithComponents (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/server/next-server.js:91:254)
at async DevServer.renderToHTML (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/server/next-server.js:92:631)
at async DevServer.renderToHTML (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/server/next-dev-server.js:22:539)
at async DevServer.render (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/server/next-server.js:48:236)
at async Object.fn (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/server/next-server.js:35:852)
at async Router.execute (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/server/router.js:28:28)
at async DevServer.run (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/server/next-server.js:44:494)
at async DevServer.handleRequest (/home/mike/mikeblogtime.com/frontend/node_modules/next/dist/next-server/server/next-server.js:13:133)
странно то, что он упоминает node-fetch, который даже не вызывается из моего /frontend/actions/blog.js
.
Кроме того, вот что показано в моем NGINX error.log (показан частичный файл):
$ sudo tail -50 /var/log/nginx/error.log
[sudo] password for mike:
2020/07/10 00:08:49 [error] 4343#4343: *1290 connect() failed (111: Connection refused) while connecting to upstream, client: 1 "GET /_next/webpack-hmr?page=/blog/[slug] HTTP/1.1", upstream: "http://127.0.0.1:3000/_next/webpack-hmr?page=/blog/[sl referrer: "https://mikeblogtime.com/blog/FirstBlog-1590950795"
2020/07/10 00:09:01 [error] 4343#4343: *1297 connect() failed (111: Connection refused) while connecting to upstream, client: 1 "GET /_next/webpack-hmr?page=/blog/[slug] HTTP/1.1", upstream: "http://127.0.0.1:3000/_next/webpack-hmr?page=/blog/[sl referrer: "https://mikeblogtime.com/blog/FirstBlog-1590950795"
2020/07/10 00:09:13 [error] 4343#4343: *1299 connect() failed (111: Connection refused) while connecting to upstream, client: 1 "GET /_next/webpack-hmr?page=/blog/[slug] HTTP/1.1", upstream: "http://127.0.0.1:3000/_next/webpack-hmr?page=/blog/[sl referrer: "https://mikeblogtime.com/blog/FirstBlog-1590950795"
2020/07/10 00:09:25 [error] 4343#4343: *1290 connect() failed (111: Connection refused) while connecting to upstream, client: 1 "GET /_next/webpack-hmr?page=/blog/[slug] HTTP/1.1", upstream: "http://127.0.0.1:3000/_next/webpack-hmr?page=/blog/[sl referrer: "https://mikeblogtime.com/blog/FirstBlog-1590950795"
2020/07/10 00:09:37 [error] 4343#4343: *1290 connect() failed (111: Connection refused) while connecting to upstream, client: 1 "GET /_next/webpack-hmr?page=/blog/[slug] HTTP/1.1", upstream: "http://127.0.0.1:3000/_next/webpack-hmr?page=/blog/[sl referrer: "https://mikeblogtime.com/blog/FirstBlog-1590950795"
Я даже обновил конфигурацию NGINX, раскомментировав прослушивание порта 443, думая, что это причина отказа в соединении (показан частичный файл, а не полный файл):
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
Несмотря на это изменения, он продолжает показывать эту ошибку отказа от ssl-соединения.
Я проверил статус ufw:
$ sudo ufw status
Status: active
To Action From
-- ------ ----
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
8000 ALLOW Anywhere
3000 ALLOW Anywhere
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
8000 (v6) ALLOW Anywhere (v6)
3000 (v6) ALLOW Anywhere (v6)
Как вы думаете, что может быть причиной того, что оно не работает?