我有一个 django 网站,我用 heroku 发布了它。
这些文件存储在带有 MinIO 的本地 docker 容器中。我正在使用 django-storages 连接到 MinIO 存储,因为它支持 AWS S3,
AWS_S3_ENDPOINT_URL = "(Computer IP):9000/"。
在我的本地计算机上,它可以正常工作(计算机 IP):9000/。
当我在我的计算机上使用 localhost 时,它可以正常工作。
但是在heroku中说无效的端点。
我已经端口转发了 9000 和 9001 端口并允许它们通过防火墙。
我做错了什么?
错误日志
/admin/users/profile/add/ 处的 ValueError
Invalid endpoint: (Computer IP):9000/
Request Method: POST
Request URL: (Heroku IP)
Django Version: 3.2.5
Exception Type: ValueError
Exception Value:
Invalid endpoint: (Computer IP):9000/
Exception Location: /app/.heroku/python/lib/python3.9/site-packages/botocore/endpoint.py, line 287, in create_endpoint
Python Executable: /app/.heroku/python/bin/python
Python Version: 3.9.6
Python Path:
['/app/.heroku/python/bin',
'/app',
'/app/.heroku/python/lib/python39.zip',
'/app/.heroku/python/lib/python3.9',
'/app/.heroku/python/lib/python3.9/lib-dynload',
'/app/.heroku/python/lib/python3.9/site-packages']
Server time: Mon, 30 Aug 2021 09:37:06 +0000
Settings.py - AWS 信息
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME')
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
AWS_S3_ENDPOINT_URL = "(ComputerIP):9000/"
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
谢谢!