PostgreSQLがインストールされているサーバーがあり、データベース内のデータを継続的に変更するスクリプトがいくつかあります。 PostgreSQLはデフォルトポート5432で動作します。
私はgodaddyを通じて購入した標準ホスティングである私のウェブサイトからデータベースに接続できるようにしたいと思います。
ネットワーク経由でデータベースにアクセスできないため、データベースにアクセスできないことがわかります。しかし、私のWebサイトがデータベースと通信できるようにデータベースをオンラインで使用できるようにすることは可能ですか?
答え1
GoDaddyサーバーへの外部接続を許可する必要があります。ホストされたウェブサイトの場合、必ずしもそうではありません。他の人がポート80または443でのみ接続できるようにし、Webサイトをホストする電子メールまたはデータベースサーバーに接続を送信する可能性があるため、他のすべての接続はファイアウォールによってブロックされる可能性があります。
その後、サーバーを許可する必要があります受け入れるつながる1つの回避策は、GoDaddyサーバーとPostgreSQLサーバーの間でVPNを許可することです。それ以外の場合は、PostgreSQLサーバーのファイアウォールがGoDaddy(または全員)で開かれている必要があります。これによりセキュリティリスクが発生します。
SSHを使用すると、psqlシステムからApacheシステムへのポート転送(sshトンネリングとも呼ばれます)を使用できます。両側で接続を開くことができます(ただし、構文は少し異なります)。例えば
ssh useronpostgres@postgresmachine [other options] -L 5432:localhost:5432
Webマシンで実行すると、WebマシンにローカルPostgreSQLポートが作成されるため、Webサイトは実際にPostgreSQLマシンで実行されているローカルPostgreSQLを「見る」ことができます。
最後に、あなたのウェブサイトはPostgreSQLと「会話」できるはずです。単純な接続だけでは十分ではありません。つまり、利用可能なポートが必要ですが、十分ではありません。それ自体。サイトがPerlまたはPHPで開発されている場合は、現在pgsql / psqlドライバを含むPDOモジュールがあります。いいえインストール後、通常はPostgreSQLではなくMySQLが選択されます。その場合は、構成の変更を要求する必要があります。
REST APIを介してMySQLまたはPostgreSQLへのRESTアクセスを許可するデータベース用の「シンコネクタ」もあります。データベースを逮捕するまたは他の人も見ることができます。この問題)まだPostgreSQLサーバーにWebサーバーがない場合は、インストールしてみてください。これにより、ポート80を介してWebサイトにアクセスでき、構文と機能にいくつかの制限がありますが、GoDaddy側の特別なドライバは必要ありません。これが最終的に許容可能な妥協であるかどうかを評価する必要があります。
PostgreSQLへの広範なアクセスを提供するためにインストールすることもできます。phpPgadmin。