【问题标题】:iisnode encountered an error when processing the request. HRESULT: 0x6d HTTP status: 500 HTTP subStatus: 1013iisnode 在处理请求时遇到错误。 HRESULT:0x6d HTTP 状态:500 HTTP 子状态:1013
【发布时间】:2018-08-03 01:24:24
【问题描述】:

我正在开发一个 web 应用程序,前端使用 ReactJS,后端使用 express。我正在将我的应用程序部署到天蓝色。

为了测试我的请求是否通过,我编写了两个不同的 API 请求。

第一个很简单:

router.get('/test', (req, res) => {
  res.send('test was a success');
});

然后在前端我有一个按钮,单击该按钮发出请求,我得到响应“测试成功”。这每次都有效。

第二个测试是:

router.post('/test-email', (req, res) => {
  let current_template = 'reset';
  readHTMLFile(__dirname + '/emails/' + current_template + '.html', function(err, html) {
    let htmlSend;
    let template = handlebars.compile(html);
    let = replacements = {
      name: req.body.name
    };
    htmlSend = template(replacements);
    let mailOptions = {
      from: 'email@email.com',
      to: 'someone@email.com',
      subject: 'Test Email',
      html: htmlSend
    };
    transporter.sendMail(mailOptions)
    .then(response => {
      res.send(response);
    })
    .catch(console.error);
   });
 });

然后,当我部署应用程序时,我会调用这些测试中的每一个。就像我提到的,第一个总是成功的。应该发送一封非常简单的电子邮件的第二个大部分时间都失败,并出现错误“iisnode在处理请求时遇到错误。HRESULT:0x6d HTTP状态:500 HTTP subStatus:1013”。奇怪的是,每隔一段时间就会发送电子邮件,但这种情况很少发生。大多数情况下,在发送错误响应之前,该请求需要整整两分钟。

我应该注意,当在 localhost 中进行开发时,两个测试一直都可以正常工作,没有任何问题,只有在生产中(部署到 azure)才会发生这种情况。

过去几天我一直在四处挖掘,但一无所获。任何帮助或指示将不胜感激。

【问题讨论】:

    标签: javascript node.js reactjs azure express


    【解决方案1】:

    我发现了问题所在。我正在使用 gmail 发送我的测试电子邮件,默认情况下,如果 gmail 认为发出请求的应用程序不安全,它将阻止任何使用帐户的尝试。只需单击第一次尝试时他们自动发送给您的链接,即可轻松解决此问题。不是很明显的是,当您进入生产模式时,它们会增加另一层安全性,在这种情况下,我认为这是一个验证码,虽然您可以在部署应用程序后立即在开发中发送电子邮件,但这不再是变成这样。

    无论如何,经过一番挖掘后,我找到了禁用验证码的选项,现在我的电子邮件发送正常!

    链接到该选项https://accounts.google.com/b/0/DisplayUnlockCaptcha

    希望这会对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 2021-03-15
      相关资源
      最近更新 更多