2013-04-02 20 views
6

Używam bazy danych PostgreSQL na serwerze zdalnym z bardzo restrykcyjną zaporą ogniową, która zezwala tylko na połączenia z naszego serwera WWW. To sprawia, że ​​tworzenie materiałów na mojej własnej stacji roboczej jest dość trudne, ponieważ nie mogę połączyć się bezpośrednio z tym serwerem, aby przetestować mój kod.Przekazywanie połączenia PostgreSQL przez inny serwer

Chciałbym skonfigurować proxy na naszym serwerze internetowym, które po prostu wysyła wszystkie zapytania do zaporowego serwera. Następnie mogę użyć naszego serwera z mojej stacji roboczej, aby przetestować mój kod. Jakieś pomysły, jak to zrobić lub na inne sposoby, które rozwiązują mój problem?

+0

Nazwałem "Nie mogę połączyć się z tym serwerem bezpośrednio, aby przetestować mój kod", co jest bardzo dobrą rzeczą. Lepiej byłoby przetestować lokalną kopię bazy danych lub zdalnego serwera pomostowego (który ma kopię danych produkcyjnych). Testowanie w produkcyjnej bazie danych to tylko skrót do bólu i cierpienia. –

+1

Nie martw się, mam serwer pomostowy, a serwer zdalny używa do testowania kopii bazy danych, po prostu nie mogę połączyć się z nią z domu, w którym normalnie pracuję. –

Odpowiedz

15

wykorzystanie ssh i utworzyć lokalną tunelu, coś takiego (działa tylko jeśli masz demona ssh działa na serwerze WWW)

ssh [email protected] -CNL localhost:5432:192.168.1.128:5432 

Powyższy będzie nasłuchiwał na 5432 (port postgres) na localhost i przekazania cały ruch do zdalnego komputera za pośrednictwem serwera WWW.

+1

Wielkie dzięki, bardzo łatwo, udało mi się to szybko uruchomić! Dodałem serwer zdalny jako alias dla locahost, więc nie muszę nawet zmieniać ciągu połączenia w kodzie. –

+1

ssh to prawdopodobnie najfajniejsze oprogramowanie na świecie :-). Zajęło mi trochę czasu, aby uświadomić sobie, jak potężny jest, ale teraz używam go cały czas do tunelowania. Ostatnio miałem dokładnie ten sam problem co Ty i rozwiązałeś go jak wyżej. – DAB

+0

Bardzo dobrze! Dzięki! –

Powiązane problemy