1

jspファイルをサーバーに配置しました。そこから別のLinuxサーバーにsshしてから、postgresサーバーに接続する必要があります。直接接続するための外部 IP アドレスがありません。これが複雑に見える理由です。少なくとも私にとっては。これが私のjspの最初の接続部分です。

<%@ page language="java" import="java.sql.*" %>
<%@page import="java.io.*"%>

<%
String driver = "org.postgresql.Driver";
String url = "jdbc:postgresql://10.254.147.162/dbac";
String username = "postgres";
String password = "postgres";
String myDataField = null;

Connection myConnection = null;
PreparedStatement myPreparedStatement = null;
ResultSet rst = null;
Class.forName(driver).newInstance();
myConnection = DriverManager.getConnection(url,username,password);
.
.
.

ここでは、IP 内部アドレスが 10.0.90.1 から 10.254.147.162 の postgres サーバーに接続する必要があります。

10.254.147.162 から 10.254.147.162 に ssh する方法を教えてください

4

1 に答える 1

1

プログラムの外部で ssh を処理する必要があります。

Linux で次のコマンドを使用して、データベースへの ssh トンネルを確立します。

ssh -fN -L5444:10.0.90.1:5432 10.254.147.162

これにより、localhost ポート 5444 から 10.0.90.1 の postgres データベースへのトンネルが確立されます。次に、URL 定義を次のように変更します。

String url = "jdbc:postgresql://localhost:5444/dbac";

5444 には任意の値を選択できます。これにより、たとえば、ポート 5444 を本番データベースに接続するように設定し、ポート 5445 を他のマシンのテスト データベースに接続するように設定することもできます。

于 2013-05-30T01:49:12.223 に答える