2016-06-30 78 views
0

我在使用Postgres.app的Mac上運行Postgres服務器。無法設置Postgres服務器接受SSL連接

我連接到的Node.js服務器(代碼Heroku docs複製):

pg.defaults.ssl = true; 
pg.connect(process.env.DATABASE_URL || 'postgres://localhost:5432/my-project', function(err, client) { 
    if (err) throw err; 
    console.log('Connected to postgres! Getting schemas...'); 

    client 
    .query('SELECT table_schema,table_name FROM information_schema.tables;') 
    .on('row', function(row) { 
     console.log(JSON.stringify(row)); 
    }); 
}); 

然後我跟着指示here,讓我的Postgres的服務器接受SSL連接。我在postgresql.conf文件中將ssl設置更改爲on。我還生成了所需的文件,server.keyserver.crt

然而,當我跑我的節點服務器,我得到這個錯誤:

Error: The server does not support SSL connections 

我跑psql,做show ssl。它返回off。所以後來我想,也許我有錯誤的配置文件...但後來我做了show config_file,我絕對是在正確的地方。我還有什麼遺漏?

回答

0

很可能你忘了重新啓動PostgreSQL服務器。
如有問題,請設置log_connections = on並檢查PostgreSQL服務器日誌。

+0

不,我肯定重新啓動...在退出Postgres應用程序後,找不到任何進程或連接psql。 – chinaowl

+0

沒有在日誌中?然後,無論您是否意外連接到錯誤的服務器,或者PostgreSQL已經在沒有SSL支持的情況下編譯,運行'pg_config --configure'來查找。 –

+0

呃......我覺得很傻。發現我的問題。我忘了在配置文件的'ssl = on'行中刪除'#'。 – chinaowl

相關問題