2010-12-03 7 views
0

こんにちは私は、私の周りを取り巻く必要があるWebアプリケーションのためのユニークな設定があります。別のサーバにスクリプトとmysqlデータベースを設定する

私はお互いに話す必要がある2つのサーバーがあります。サーバーAは実際のPHPベースのアプリケーションをホストします。サーバーBは、MySQLデータベースとサーバー接続の詳細をホストします。サーバーBはクローズドネットワーク内にあるため、ローカルネットワーク上のユーザーだけがサーバーにアクセスできますが、サーバーAはWebベースです。

訪問者がサーバーBのローカルネットワークにアクセスできる場合は、サーバーAのスクリプトを使用してサーバーBのデータベースに接続し、そのサーバーにアクセスして画像を完成させる必要があります。

私の最初の質問です:これは可能ですか?私はそれが100%ではないと確信しています。

2番目:サーバーBスクリプトにアクセスするためのスクリプトを書くにはどうすればよいですか?インクルードファイルにアクセスするのと似ていますか、それともリモートのhttps呼び出しですか?私はこれを実現させる方法についてはわかりません。

アドバイスはありがとうございます!

ありがとうございます!

+0

私は混乱しています、あなたは* PHP *と*サーバーB * * MySQL *の意味ですか?* Apache Web Server * on *サーバB *の*データベース*にアクセスする* PHP *アプリケーションを持つサーバA *? – dcestari

+0

あなたの説明(私は誤解があるかもしれませんが)から、これは独自の設定ではありません。 PHP/MySQLのセットアップ... –

答えて

0

リモートでMySQLデータベースに接続しても問題ありません。ここにはかなり徹底したガイドEnabling Remote MySQL Accessがあります。私はWHFの簡単設定でという追加のMySQLアクセスホストという名前でこれを動作させることができました。このエリアにサーバBを訪問すると、サーバAのIPアドレスを追加してサーバBのデータベースにサーバBのデータベースに接続できるようになります。
mysql_connect("IP Address of Server B","DB_username","DB_pass")
などです。

これはすぐには機能しない場合は、ファイアウォールの設定を変更する必要があるかもしれませんが、必要なものは可能でなければなりません。

0

私は確信していませんが、これはPHPを使用して可能だと思います。 PHPはサーバ側ですので、mysqlサーバにアクセスする必要があるサーバで、クライアントは遊びに来ません...

サーバからの接続のみを受け入れるようにmysqlサーバを保護する方法はたくさんあります。

0

最初の点は、可用性の良いアーキテクチャではないことです。 PHPとDBMSの両方を実行するマシンが1つしかない場合は、単一の障害ポイントが発生します。これは可用性の良いシナリオではありません。 PHPとDBを別々のマシンにインストールすると、2つのシングルポイント障害が発生します。悪い!

しかし、今はそのままにしておきます。

はい、それはPHPを介してゲートアクセスにとりうるだろうが、PHPがネイティブMySQLのプロトコルを実装していない - ので、あなたが

1に持っていると思いますいずれか)のMySQLプロトコルプロキシを実装するためのプログラミングの非常に多くを行います追加の機能を備えています。

2)本当にあなたのサブネットの外からWebサーバへのアクセスを望んでいない一時的

上のリモートホストを許可するようにMySQLの権限テーブルを更新します。

しかし、マシンが "ローカルネットワーク"にアクセスできる場合は、ポートリフレクタをそのネットワークのどこかにドロップし、クライアントをDBMSの代わりにポイントするだけです。 DBMSはポートリフレクタが稼働していた場所のクライアントアドレスを表示します(DBMSサーバの別のポートで実行されている可能性もあります)。

しかし、 "ローカルネットワークへのアクセス"を意味します

関連する問題