问题描述
我使用此脚本将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代码
与settings.json文件的设置和架构有关的文档为here供参考