【问题标题】:Send request to 127.0.0.1 via HTTP which is forwarded on via HTTPS通过 HTTP 向 127.0.0.1 发送请求,该请求通过 HTTPS 转发
【发布时间】:2014-01-02 05:26:47
【问题描述】:

我正在使用 WampServer (Windows) 和 PHP pgsql,显然有些东西没有使用 SSL 支持编译,因为我收到了这个错误:

Unable to connect to PostgreSQL server: sslmode value "require" invalid when SSL support is not compiled

这让我开始思考......我想知道我是否可以让 pg_connect() 使用 HTTP 在端口 12345(或类似的东西)上查找 127.0.0.1,然后可以在我的本地系统上运行一些中间服务将使用 SSL 将其传递给服务器。

有人知道怎么做吗?

注意

我正在尝试连接到 Heroku PostgreSQL 服务器(它使用 Amazon Web Service URL)并且需要 SSL 连接。我最好在谷歌上搜索 “amazonws.com postgresql stunnel” 以获取相关的公告板消息。

更新

这是我使用的 stunnel.conf 文件:

;See: https://medium.com/what-i-learned-building/580fdd492119

cert = stunnel.pem
options = NO_SSLv2
options = SINGLE_ECDH_USE
options = SINGLE_DH_USE
socket = r:TCP_NODELAY=1
options = NO_SSLv3
ciphers = HIGH:!ADH:!AECDH:!LOW:!EXP:!MD5:!3DES:!SRP:!PSK:@STRENGTH

[heroku-postgres]
client=yes
accept = 127.0.0.1:YOUR-CHOSEN-PORT
connect = THE-HOST-GOES-HERE:PORT
protocol=pgsql
retry = yes

参考:https://medium.com/what-i-learned-building/580fdd492119

【问题讨论】:

    标签: php postgresql ssl wamp


    【解决方案1】:

    postgresql 的连接既不使用 http 也不使用 https,但有自己的协议。但是你可以使用类似 stunnel 的东西在 ssl 中建立一个正常的 tcp 连接,例如如果您的本地 pg_client 库不支持 ssl,您可以在 localhost 上创建一个 stunnel,然后通过 ssl 将数据转发到远程 postgresql 服务器。

    【讨论】:

    • 好主意。我要试一试。我熟悉配置这种类型的应用程序,关于设置 Windows 服务的文档看起来很简单。我会在这里发回我发现的内容。
    猜你喜欢
    • 2017-09-14
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    相关资源
    最近更新 更多