繁体   English   中英

如何授予Java Web App访问Digital Ocean Droplet的权限

[英]How to Grant a Java Web App Access to a Digital Ocean Droplet

我在Digital Ocean Droplet上托管mysql服务器,并且试图弄清楚如何授予Spring Boot Web应用程序对Droplet的访问权限,以便它可以连接到数据库。 我配置了Droplet,使其只能通过ssh隧道访问(即:我禁用了密码认证),但是数据库服务器本身可以使用用户名和密码进行连接。

我知道如何使用Connector / J连接到数据库,配置数据源等等。 但是,数字海洋的额外安全层对我来说是新的,我不确定如何解决此问题。

编辑:当我运行该应用程序并尝试命中一个端点时,出现以下错误:

The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: null,  message from server: "Host '<my network hostname>' is not allowed to connect to this MySQL server"] with root cause

因此,我误以为认证问题与Digital Ocean液滴有关。 如错误消息(请参阅上面的问题)所示,Spring Boot应用程序能够访问远程mysql服务器,并且那里发生了身份验证问题。 原来,我尝试连接的mysql用户只能在localhost上使用。

因此,我创建了一个新的mysql用户并将其绑定到本地计算机的公共IP地址,从而解决了该问题。 有关如何完成此操作的详细信息,请阅读以下答案:

主机“ xxx.xx.xxx.xxx”不允许连接到该MySQL服务器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM