0

私は自分のマシン(またはそれに関しては任意のIP)からリモートでMySQL(EC2インスタンス)にアクセスする必要があるPHPアプリケーションを開発しています。アプリケーションはスタンドアロンである必要があります。つまり、トンネルが必要な場合、アプリケーションはそれを実行できる必要があります。現在、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セットアップについて特別なことは何もありません。安全のために、インターネット経由でリモートになる場合は、mysqlへのssl接続(またはSSHトンネル)を使用するのがおそらく最善です。

  2. 他のエラーメッセージはmysqlとは何の関係もありません。クロスドメインajaxリクエストを行っています。デフォルトでは、ブラウザはこれをブロックします。最近のブラウザではAccess-Control-Allow-Origin、クロスドメインリクエストを許可するヘッダーを設定できます。

于 2013-02-01T18:56:21.670 に答える