【问题标题】:Using Google Cloud SQL WITHOUT Network Authorization在没有网络授权的情况下使用 Google Cloud SQL
【发布时间】:2018-06-27 11:38:02
【问题描述】:

我正在使用 Google Cloud PostgreSQL 和本地开发的 django rest api 并能够连接到数据库,您需要输入要连接的 IP 地址。我和我的团队正在使用动态 IP 地址,我们应该每次在云界面中更改 IP 地址以进行连接。还有其他方法吗?我想尝试 SSL 的东西,但它太复杂了。有什么想法吗? 谢谢

编辑: 我正在尝试使用 SSL,这是我添加到 settings.py 中的内容,但出现错误:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'HOST': '00.000.00.000',
    'NAME': 'dbname',
    'USER': 'username',
    'PASSWORD': 'mypassword',
    'OPTIONS': {
        'sslmode': 'require',
        'ssl': {
            'ca': 'certs/server-ca.pem',
            'cert': 'certs/client-cert.pem',
            'key': 'certs/client-key.pem'
            }
    },
}

}

ssl 文件位于名为 certs 的文件夹中,该文件夹与 settings.py 文件位于同一目录中。

这是我在运行服务器时遇到的错误:

django.db.utils.ProgrammingError: invalid dsn: invalid connection option "ssl"

【问题讨论】:

标签: sql django postgresql cloud google-cloud-sql


【解决方案1】:

尝试使用cloud proxy 这将启用经过身份验证的连接,但您无需担心 IP 或身份验证方面。

使用云代理 - 允许与您的 Cloud SQL 实例建立专用连接(这是经过身份验证的连接)。正确设置后,只需将您的应用程序指向代理,所有流量都会发送到后端 Cloud SQL 实例。

对于奖励积分,可以使用 VM 元数据动态配置云代理来设置环境。我之前在 Terraform 中使用过这样的方式,它用于指向特定的云 sql 实例,这样可以节省很多精力。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多