Saya memiliki dua server khusus jarak jauh , satu server web yang menjalankan Apache, dan satu server db yang menjalankan MySQL.
Server Apache terlihat di Internet tentu saja, tetapi server kedua hanya dapat dilihat oleh server Apache karena mereka terhubung dengan LAN.
Saya perlu terhubung ke server MySQL jarak jauh melalui Internet dari PC-rumah saya, tetapi hanya server Apache yang dapat dilihat oleh PC-rumah saya. Bagaimana saya bisa mengatur port-forwarding dari server Apache saya ke server MySQL sehingga saya dapat "melihat" server MySQL dari PC-rumah saya?
Pertanyaan ini merupakan tindak lanjut dari pertanyaan pertama saya: https://stackoverflow.com/questions/4159256/connect-to-remote-mysql-server-from-my-application-problem-is-that-mysql-server in yang Anda jawab dan banyak membantu saya dengan menyuruh saya melakukan "port-forwarding".
Saya mencari di internet, dan saya tidak bisa menemukan cara yang baik untuk melakukan port-forwarding. Saya seorang programmer berpengalaman, tetapi memiliki sedikit pengalaman pada perangkat keras dan jaringan. Saya bisa mengerti apa yang harus dilakukan, jadi saya hanya perlu sedikit bantuan untuk menyelesaikan masalah. :)
PS Mesin yang dijalankan Apache ada di CentOS; server MySQL juga menjalankan CentOS. Server web PS2 menjalankan WebHostManager. Saya tidak tahu apakah itu membuat perbedaan atau dapat dibuat dengan mudah melalui ini, saya hanya menyebutkannya.
sumber
Jawaban:
Jalankan klien SSH Anda di desktop Anda.
Ketikkan ini (hal-hal di bawah ini menjelaskan apa yang Anda ganti):
ssh -L desktop_port:database_host:database_port apache_username@apache_host
Saat diminta, masukkan kata sandi apache_username Anda. Biarkan terminal ini terbuka karena terowongan akan menutup ketika Anda menutup koneksi ini.
Contoh yang cocok untuk saya:
ssh -L 3306:db:3306 user@web
Setelah selesai, ketik saja keluar di terminal Anda dan koneksi akan hilang.
sumber