Django 项目连接到 Google Cloud SQL

问题描述 投票:0回答:1

我分别托管数据库和 Django 应用程序服务器。
我有一个 Google Cloud SQL (PostgreSQL),但我尝试了很多方法将数据库配置为 Django 文档

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'HOST': '[Your-Cloud-SQL-Public-IP]',
        'USER': '[YOUR-USERNAME]',
        'PASSWORD': '[YOUR-PASSWORD]',
        'NAME': '[YOUR-DATABASE]',
    }
}

用我的凭据填写但无法连接,出现如下错误:

 line 729, in connect
    raise ex.with_traceback(None)
django.db.utils.OperationalError: connection failed: could not receive data from server: Socket is not connected (0x00002749/10057)
could not send SSL negotiation packet: Socket is not connected (0x00002749/10057)

专家请帮助我使其发挥作用。

我正在寻找使用 Google Cloud SQL 配置 Django 项目的指南。

django database postgresql google-cloud-sql
1个回答
0
投票

对于公共 IP,您需要将 Django 应用程序的 IP 地址添加为 Cloud SQL 实例的“授权网络”。 对于私有 IP,如果您在 VPC 网络中部署 Django 应用程序,则上述示例应按您的

settings.py

文件中的方式工作:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'HOST': '[Your-Cloud-SQL-Private-IP]',
        'USER': '[YOUR-USERNAME]',
        'PASSWORD': '[YOUR-PASSWORD]',
        'NAME': '[YOUR-DATABASE]',
        'SSLMODE': 'require'
    }
}

© www.soinside.com 2019 - 2024. All rights reserved.