如何添加代理以连接 Azure Postgresql?

How to add proxy to connect with Azure Postgresql?

我使用此脚本连接 node.js 与 Azure Postgresql。 但是我们防火墙的ssl验证会屏蔽连接,所以以前需要使用代理。我可以在代码的哪个位置添加主机和端口等代理设置? 意味着当我启动代码时,vscode 应该通过代理连接到 postgresql。

const pg = require('pg');

const config = {
    host: '<your-db-server-name>.postgres.database.azure.com',
    // Do not hard code your username and password.
    // Consider using Node environment variables.
    user: '<your-db-username>',     
    password: '<your-password>',
    database: '<name-of-database>',
    port: 5432,
    ssl: true
};

const client = new pg.Client(config);

client.connect(err => {
    if (err) throw err;
    else { queryDatabase(); }
});

function queryDatabase() {
  
    console.log(`Running query to PostgreSQL server: ${config.host}`);

    const query = 'SELECT * FROM inventory;';

    client.query(query)
        .then(res => {
            const rows = res.rows;

            rows.map(row => {
                console.log(`Read: ${JSON.stringify(row)}`);
            });

            process.exit();
        })
        .catch(err => {
            console.log(err);
        });
}

为 Visual Studio 代码配置代理

编辑 settings.json 文件

根据您的平台,用户设置文件位于此处:

Windows: %APPDATA%\Code\User\settings.json

macOS: $HOME/Library/Application Support/Code/User/settings.json

Linux: $HOME/.config/Code/User/settings.json

修改并添加以下行以配置您的代理

"http.proxy": "http://user:pass@proxy.com:portnumber",
"https.proxy": "http://user:pass@proxy.com:portnumber",
"http.proxyStrictSSL": false

如果您的代理不需要身份验证,您可以简单地使用

"http.proxy": "http://proxy.com:portnumber",
"https.proxy": "http://proxy.com:portnumber"
"http.proxyStrictSSL": false

重启 VS Code

settings.json文件的设置和架构相关文档here供参考