0

我正在开发一个 PHP 应用程序,它需要从我的机器(或任何 IP)远程访问 MySQL(EC2 实例)。应用程序需要是独立的,这意味着如果需要隧道,那么应用程序需要能够做到这一点。目前我正在使用以下代码连接到 MySQL:

$conn = mysql_connect( $serverName, $uid, $pwd) or die(print_r(mysql_error(), true));

// select database
$dbname='xxxxx';
mysql_select_db($dbname);

我尝试在 AWS 控制台的安全组中打开 MySQL 端口,并尝试提供对 IP 的访问权限。我知道 EC2 需要密钥才能访问,所以我想知道是否有任何功能允许我使用密钥来连接和查询数据,以及将这些数据返回到我的应用程序中以供使用。

这是我目前收到的错误消息:

XMLHttpRequest cannot load /myapp.php? Origin null is not allowed by Access-Control-Allow-Origin.

它似乎无法将数据加载回来,而且我确实从文件中的数据库中获取了一些信息,这很奇怪。不知何故,它无法以我想要的方式返回并处理信息。当同一个应用程序在本地主机上时,它可以正常工作

任何帮助将不胜感激!

4

1 回答 1

0
  1. 您不需要使用密钥来连接到 mysql。与在传统环境中一样,mysql 的 ec2 设置没有什么特别之处。为了安全起见,最好使用 ssl 连接(或 SSH 隧道)连接到 mysql,如果它是远程的,通过 Internet。

  2. 另一个错误信息与mysql无关。您正在发出跨域 ajax 请求。默认情况下,浏览器会阻止它。最近的浏览器允许您设置Access-Control-Allow-Origin标头以允许跨域请求。

于 2013-02-01T18:56:21.670 回答