Я получаю эту ошибку в журнале ошибок: 2019/01/31 22:08:09 [error] 22406 # 22406: * Тайм-аут восходящего потока 113 (110: Тайм-аут соединения) при чтении заголовка ответа из восходящего потока, клиент: 107.11.24.140, сервер: isitestack.com, запрос: «POST / send HTTP / 1.1», восходящий поток: «http://127.0.0.1:3000/send", хост:« isitestack.com », реферер:« https://isitestack.com/"
Я использую mailgun, nodemailer, nodejs и nginx в цифровом океане для обслуживания своего приложения.Сейчас на isitestack.com все хорошо, но контактная форма не работает и показывает 504 ошибку тайм-аута, когда я тестирую форму и отправляю запрос.Запросы работали нормально на локальном сервере.Я включаю мой файл app.js узла и файлы nginx / etc / nginx / sites-available / default, так как считаю, что проблема в одном из них.Любая помощь будет так цениться.
const express = require('express');
const bodyParser = require('body-parser');
const exphbs = require('express-handlebars');
const path = require('path');
const nodemailer = require('nodemailer');
const dotenv = require('dotenv').config();
const app = express();
//view engine setup
app.engine('handlebars', exphbs());
app.set('view engine', 'handlebars');
//static folder
app.use('/public', express.static(path.join(__dirname, 'public')));
//body parser middleware
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
//routes
app.get('/', (req, res) => {
res.render('contact');
});
app.post('/send', (req, res) => {
const output = `
<p>You have a new request from iSiteStack</p>
<h3>Contact Details</h3>
<ul>
<li>Name: ${req.body.name}</li>
<li>Email: ${req.body.email}</li>
</ul>
<h3>Message</h3><p>${req.body.message}</p> `;
let transporter = nodemailer.createTransport({
host: "smtp.mailgun.org",
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: process.env.NODEMAILER_USER,
pass: process.env.NODEMAILER_PASS
},
tls:{
rejectUnauthorized: false
}
});
// setup email data with unicode symbols
let mailOptions = {
from: '"iSiteStack LLC" <postmaster@isitestack.com>', // sender address
to: "lazav2021@gmail.com", // list of receivers
subject: "Hello ✔", // Subject line
text: "Hello world?", // plain text body
html: output // html body
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log("Message sent: %s", info.messageId);
console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));
res.render('contact', {msg: "Your email has been sent. Thanks for contacting me. I will respond as soon as possible."});
});
});
app.listen(3000, () => console.log('server started....'));
.........................................................................
nginx /etc/nginx/sites-available/default file below
.........................................................................
server {
root /var/www/html;
server_name isitestack.com www.isitestack.com;
location / {
proxy_pass http://127.0.0.1:3000/;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/isitestack.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/isitestack.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.isitestack.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = isitestack.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80 default_server;
listen [::]:80 default_server;
server_name isitestack.com www.isitestack.com;
return 404; # managed by Certbot
}