2013-05-16 174 views
1

我已經將我的jsp文件放在服務器中,我將不得不ssh到另一臺linux服務器,然後連接到postgres服務器。我們沒有外部IP地址直接連接。這就是爲什麼這看起來很複雜。至少對於我來說。這是我的jsp的第一個連接部分。從另一臺linux服務器在Linux平臺上連接postgres服務器

<%@ 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 ssh到

回答

1

你應該處理程序之外ssh'ing。

在Linux中使用以下命令建立一個SSH隧道到數據庫:

ssh -fN -L5444:10.0.90.1:5432 10.254.147.162

這將建立一個隧道從本地主機端口5444到Postgres數據庫上10.0.90.1。然後,您的網址定義修改爲:

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

你可以選擇你喜歡的任何5444價值這可以讓你也來,例如,設置端口5444去你的生產數據庫,以及端口5445去其他機器上的測試數據庫。

相關問題