Bagaimana saya bisa menjadikan PC rumah saya sebagai server web?

8

Saya menjalankan Apache Tomcat di PC saya. PC saya terhubung ke router di rumah saya dan router terhubung ke ISP saya. Sekarang saya ingin menjalankan server di PC saya sehingga teman saya dapat melihat situs saya di-host di PC saya. Jika saya mengunjungi situs https://whatismyip.com, saya tahu alamat IP saya adalah xx.xx.xx.xx. Ini adalah IP router saya, saya kira. Jika saya mengetik http: //xx.xx.xx.xx di browser saya maka router saya meminta nama pengguna dan kata sandi. Ini berarti bahwa teman saya dapat terhubung ke router saya. Bagaimana saya bisa membiarkan mereka melihat situs yang dihosting di Tomcat berjalan di PC saya?

Saya tidak ingin menggunakan hosting komersial dan saya ingin menggunakan PC saya hanya sebagai server karena beberapa alasan.

IP internal router saya adalah 192.162.1.1 dan PC saya adalah 192.162.1.2.

Glorfindel
sumber
3
Tidak, bukan serverfault. Ini adalah pertanyaan pengguna akhir - bukan pertanyaan sysadmin. Ini harus menuju ke superuser.com.
Mungkin Anda berada di belakang proxy.
Saya anggap PC ini menjalankan Windows? PC yang menjalankan Linux akan memerlukan instruksi yang sedikit berbeda.
David Thornley

Jawaban:

14

Anda perlu meneruskan permintaan ke server web (port 80, mungkin) ke mesin Anda (.1.2). Anda mengkonfigurasi ini di router Anda.


sumber
2
Perhatikan ini biasanya disebut sebagai "Penerusan Port" pada router. Metode yang lebih mudah, meskipun kurang aman, adalah menggunakan DMZ pada router Anda untuk membuka semua port ke server web Anda. Ini kadang-kadang membuatnya lebih mudah ketika hosting beberapa layanan di server web Anda, seperti server game, server VoIP, dll.
Will Eddins
1
Dan berhati-hatilah dalam membuka port untuk permintaan yang masuk. Ada banyak orang di luar sana yang mengetuk port di alamat IP acak untuk melihat siapa yang menjawab.
David Thornley
11

Anda perlu melakukan beberapa hal:

  • Pastikan untuk mengubah kata sandi router Anda dan mengunci router Anda, karena Anda akan membuat IP Anda tersedia untuk umum, konfigurasi router Anda sangat penting. Mungkin ide yang baik untuk mengunduh firmware terbaru untuk mencegah eksploitasi keamanan.

  • Teruskan permintaan web Anda ke mesin lokal Anda, di router Anda. Cari opsi "port forwarding", yang akan memaksa semua permintaan pada port tertentu router Anda untuk diteruskan ke alamat IP mesin Anda

  • coba pastikan alamat IP internal Anda tetap sama. Beberapa router tingkat lanjut dapat memesan alamat IP tertentu untuk alamat MAC komputer Anda, jadi buat konfigurasi ini ke router Anda. Jika perute perangkat lunak Anda tidak dapat melakukan ini, Anda mungkin harus memperbarui alamat IP internal Anda dalam pemetaan "penerusan porta" setiap kali komputer Anda melakukan boot ulang (atau entah bagaimana mendapatkan alamat IP lain). Anda juga dapat mengonfigurasikan komputer Anda untuk menggunakan alamat IP internal hard coded, tetapi ini dapat menambah masalah tambahan di luar ruang lingkup untuk didiskusikan di sini.

  • jika ISP Anda memberi Anda alamat IP dinamis, itu bisa merepotkan mengirim teman Anda alamat IP baru Anda setiap kali berubah, sehingga Anda bisa mendaftar untuk layanan IP dinamis (www.dyndns.org) yang akan memiliki program yang akan memperbarui entri dns untuk Anda. Sebagian besar router modern memiliki server ini yang dibangun ke dalam firmware, Anda dapat mencarinya maka Anda tidak harus menjalankan perangkat lunak pada mesin Anda.

  • untuk alasan keamanan, kurangi jumlah permintaan lain yang sedang dikirim ke mesin ini (misalnya berbagi file windows, ftp, bit torrent, dll.).

  • Port 80 adalah port default yang digunakan oleh browser web dan server, jadi ketika Anda mengakses situs http://www.mysite.com , Anda memintanya di port 80)

  • Port 8009 adalah port default yang digunakan oleh tomcat, jadi jika Anda menggunakan tomcat, Anda mungkin ingin mengganti port 80 dengan port 8009 di bawah ini.

  • Anda tidak harus melakukan konfigurasi port lain untuk server web pada mesin lokal Anda, Anda dapat meminta router Anda melakukan pemetaan dan membiarkan server web berjalan pada port 80 atau 8009 pada mesin Anda.

  • Contoh, katakan saya ingin menggunakan port 12345, maka saya dapat mengkonfigurasi router saya sehingga setiap permintaan pada port 12345 pada router saya akan dikirim ke port 80 (atau 8009) pada mesin lokal saya. Ini memungkinkan Anda untuk dapat mengakses server web kami di mesin itu hanya dengan masuk ke http: // localhost / atau http: // localhost: 8009 . Mesin internal lain di jaringan Anda harus mengakses dengan alamat Ip ( http: //192.168.1 . X ) atau Anda dapat mengedit file host yoru dan menetapkan nama.

  • Sangat penting untuk mengetahui bahwa sebagian besar port block ISP 80 (dan port umum lainnya) tidak digunakan sebagai server web , jadi bahkan jika Anda memiliki semua properti yang dikonfigurasikan pada akhirnya, teman Anda masih mungkin tidak dapat menekan port 80 pada mesin Anda. . Ini biasanya dilakukan agar pelanggan ISP akan membayar lebih banyak uang tunai untuk penawaran "bisnis" mereka. Karena itu, Anda mungkin harus membuka router di port lain jika Anda benar-benar ingin teman Anda mengakses server web Anda. Anda akan ingin tinggal jauh dari port nomor rendah, dan Anda ingin menghindari menggunakan port router Anda dikonfigurasi dari juga.

Jika Anda melakukan semua hal di atas dengan benar, Anda harus dapat memiliki URL yang stabil (seperti http://myusername.dyndns.org:12345 ) yang dapat ditandai oleh teman Anda dan digunakan sesuka hati.

Roy Rico
sumber
1

Anda harus meneruskan port tomcat Anda di router Anda. Port tomcat default adalah 8080. Lebih baik jika Anda mengubah port tomcat Anda menjadi 80. Ikuti langkah-langkah berikut untuk mengubah port tomcat Anda

  1. Buka folder tomcat \ conf di komputer Anda
  2. Sekarang dengan editor teks Anda harus membuka dan memodifikasi server.xml. Di sini Anda harus mengidentifikasi baris berikut (baris 184) dan Anda memodifikasinya sehingga berubah dari:

untuk:

<Http10Connector port="80"
secure="false"
maxThreads="100"
maxSpareThreads="50"
minSpareThreads="10" />
  1. Mulai server web

Dari port forward router Anda 80 dari router Anda ke alamat ip pc Anda. Setelah ini selesai, beri tahu teman Anda untuk mengakses situs web Anda dengan menggunakan http: //xx.xx.xx.xx/webAppName . Di sini xx.xx.xx.xx adalah alamat IP Anda dan webAppName adalah proyek situs web Anda.

Secara default ISP akan memblokir port 8080 sehingga Anda harus mengubah port tomcat menggunakan.


sumber
ISP umumnya tidak memblokir port secara default. Mungkin itu yang terjadi di kota / negara Anda (saya rasa AS), tetapi tentu saja tidak demikian. Di banyak negara, ISP sebenarnya memiliki ketentuan layanan yang cukup adil, tanpa pemblokiran port (atau pembatasan bandwidth dalam hal ini).
Mikael Auno
Tambang memblokir port 80 tetapi memungkinkan 8080! Ini berbeda untuk setiap ISP.
Kevin Panko
0

Jika Anda tidak tertarik pada penerusan port atau jika kedengarannya rumit, sebagian besar router memiliki pengaturan yang disebut DMZ. Masukkan server web Anda (mesin yang meng-host situs web) di DMZ untuk memungkinkannya dilihat dari dunia luar. Kemudian, jika Anda belum mendaftarkan nama domain, minta teman Anda mengetikkan IP Anda di browser-nya.

pengguna5195
sumber
Mengingat bahwa OP tampaknya bukan ahli dalam hal semacam ini, saya sarankan tidak secara efektif membuka blokir semua port. Ada cukup banyak eksploitasi di sana, dan tidak ada habisnya orang yang memindai port dan alamat IP untuk mencoba menggunakan eksploit itu, dan seseorang yang membutuhkan bantuan pada level ini sepertinya tidak tahu cara menghentikannya. DMZ agak seperti "PWN ME".
David Thornley
0

Anda perlu mengatur "port forwarding" pada router port 80 (http) ke PC Anda dan saya juga merekomendasikan pengaturan "DHCP statis" sehingga router selalu memberikan IP yang sama ke PC Anda ketika boot.

Perhatikan bahwa Anda mengekspos PC Anda ke dunia peretas ketika Anda melakukan ini. Pastikan Anda menginstal apache / tomcat versi saat ini dan menerapkan pembaruan secara berkala.

Jika router Anda mendukungnya, Anda mungkin ingin mengatur "DNS dinamis" untuk memberi mesin Anda nama permanen di internet (alih-alih IP # yang kadang berubah.) Lihatlah dyndns.com dan lihat opsi DNS dinamis gratis mereka.

Chris Nava
sumber
0

IP Statis adalah suatu keharusan ... Jika Anda memiliki IP Dinamis, ia terus berubah dan Anda perlu akrab dengan teman Anda tentang IP baru

Satish Ravipati
sumber