我试图通过443而不是3306访问我的rds mySql db。
在工作台上启用ssl选项并输入到mysql-ssl-ca-cert.pem的路径后,我试图禁用我的安全组上的tcp 3306,以确保它使用443连接,但它没有。
我可以使用下面的mysql命令行进行连接,但是一旦我在mysql myinstance.c9akciq32.rds-us-east-1.amazonaws.com -ssl_ca=rds-ssl-ca-cert.pem安全组禁用tcp 443,它再次失败。
Amazon文档声明: Amazon中的SSL支持严格地用于加密客户端和DB实例之间的连接;不应该依赖它对服务器进行身份验证。
这是否意味着我只能对mysql进行超过3306而不是443的身份验证,但数据将在传输过程中被加密?
我的问题是我的客户不会在他们的防火墙上打开3306出站,但是443当然是打开的。任何帮助都很感激。
发布于 2014-04-30 07:35:29
您混淆了SSL和HTTPS。端口443是HTTPS连接的默认端口。MySQL则使用3306 (并且可以通过这个端口或任何其他端口来加密连接)。因此,为MySQL连接设置SSL加密不会影响使用的端口。
为了使用与标准端口不同的端口,您必须重新配置MySQL服务器,这可能无法对RDS实例进行配置。
可以使用隧道来避免默认端口。在这个场景中,您必须打开一个SSH隧道(MySQL工作台可以为您打开这个通道,或者您可以使用外部程序,比如Windows,或者在*nix上使用ssh,比如OSes)。有了该隧道(默认使用端口22,但如果这对您有影响,可以为任何其他端口进行配置),您就可以将访问从本地端口(这里是3306,但可以是任意)转发到远程端口(也可以是任意)。然而,这需要远程端的SSH服务器。
https://stackoverflow.com/questions/23376809
复制相似问题