最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

NodeJS和Express:“错误:自签名证书”

网站源码admin16浏览0评论

NodeJS和Express:“错误:自签名证书”

NodeJS和Express:“错误:自签名证书”

我是NodeJS的初学者,我有一个非常简单的Node / Express应用程序,它使用PostGreSQL作为数据库。我的“ db.js”文件如下所示:

const { Pool } = require('pg');

module.exports = new Pool({
    user: 'postgres',
    password: 'xxxx',
    host: 'localhost',
    port: 5432,
    database:'gymmanager'
});

[当我只在本地运行时,一切正常,因此我决定将应用程序部署到Heroku。为此,我使用环境变量创建了一个.env文件用于开发。这是.env文件:

NODE_ENV=dev
DB_USER='postgres'
DB_PASS='xxxx'
DB_HOST='localhost'
DB_PORT=5432
DB_DATABASE='gymmanager'

而且我已经更改了我的“ db.js”文件,现在看起来像这样:

if(process.env.NODE_ENV !== 'dev') {

    const { Client } = require('pg');

    const client = new Client({  
        connectionString: process.env.DATABASE_URL,
        ssl: true
    });

    client.connect();
    module.exports = client;

} else {

    require('dotenv').config();
    const { Pool } = require('pg');

    module.exports = new Pool({
        user: process.env.DB_USER,
        password: process.env.DB_PASS,
        host: process.env.DB_HOST,
        port: process.env.DB_PORT,
        database: process.env.DB_DATABASE,
        rejectUnauthorized: false
    });    
}

我的应用程序已部署并在Heroku上流畅运行,但是现在,当我在本地运行'npm start'时,出现以下错误:

(node:12989) UnhandledPromiseRejectionWarning: Error: self signed certificate
    at TLSSocket.onConnectSecure (_tls_wrap.js:1491:34)
    at TLSSocket.emit (events.js:315:20)
    at TLSSocket._finishInit (_tls_wrap.js:933:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:691:12)

我尝试了几种解决方案...

Ignore invalid self-signed ssl certificate in node.js with https.request?

nodejs - error self signed certificate in certificate chain

但是它们似乎都不起作用。谁能帮我吗?

谢谢。 :)

回答如下:

您可以在命令行上尝试export NODE_TLS_REJECT_UNAUTHORIZED=0吗?这将全局设置属性,而不是将process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;设置为特定进程的属性。希望您也执行了npm config set strict-ssl false

发布评论

评论列表(0)

  1. 暂无评论