Cara mengatur penerusan port dari Server Web saya (Apache) ke server Database saya (MySQL)

1

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.

Komunitas
sumber
1
Ini harus ditanyakan pada serverfault
rwilliams aka r-dub
Bagaimana Anda ingin terhubung ke server mysql Anda? Web? Navicat? Garis komando?
Andreas Wong

Jawaban:

1

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

  • desktop_port : 3306 (hanya gunakan ini jika Anda tidak menjalankan mysql secara lokal)
  • database_host : host basis data Anda (gunakan nama domain atau alamat ip)
  • database_port : 3306 (ubah jika Anda tidak menggunakan port default)
  • apache_username : nama pengguna yang digunakan untuk masuk ke server apache Anda
  • apache_host : host apache (nama domain atau alamat ip)

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.

Chris Boynton
sumber