Apakah mungkin meng-host server web dari belakang NAT

21

PC saya ada di belakang router NAT yang memiliki alamat IP publik. Jika saya ingin meng-host situs web maka saya percaya saya perlu nama domain yang dapat saya beli dari beberapa situs yang akan berjanji untuk menyelesaikan semua permintaan DNS untuk nama domain itu dan mengirim alamat IP router NAT saya (dengan asumsi saya tidak ingin host nama domain saya di server mereka). Sekarang saya ingin meng-host server web di komputer saya.

  1. Perubahan apa yang harus dilakukan pada konfigurasi router NAT untuk meneruskan semua permintaan HTTP untuk example.com ke PC saya di jaringan internal.
  2. Apakah strategi di atas benar?
  3. Apakah ini biasa digunakan?
Rohit Banga
sumber

Jawaban:

12

Layak untuk meng-host server di belakang NAT seperti yang Anda gambarkan.
Lihatlah halaman bantuan Ubuntu ini pada ServersBehindNAT untuk dasar-dasarnya.

Beberapa referensi lagi,

  1. Hosting server Apache di belakang NAT
  2. Menyiapkan server di belakang NAT
    ini menggunakan router seri NAT Buffalo AirStation dan contoh router Linksys
  3. Metode Berbagi Koneksi Windows XP Internet . jika Anda memiliki mesin Windows yang melakukan NAT
  4. [Jika Anda menggunakan XP, Anda juga dapat menggunakan IIS 6 5 (1 dukungan virtual host) dengan masuk ke Control Panel> Tambah dan Hapus Program> Tambah Komponen Windows> Layanan Informasi Internet.

Ini dengan asumsi Anda tahu bagaimana meng-host server web dan perlu ide tentang NAT.

nik
sumber
1

Alternatif lain mungkin sesuatu seperti homelinux, di mana alamat IP dinamis Anda dapat dipetakan ke statix .homelinux. URL

Ada juga pilihan lain selain "homelinux"

http://www.dyndns.com/

0x808080
sumber
1
  1. Lihat portforward.com . Mereka memiliki arahan terperinci untuk hal semacam ini, ide dasarnya adalah Anda perlu mengatur router untuk meneruskan permintaan TCP pada port 80 ke alamat IP komputer Anda. Ini memunculkan hal lain: Anda perlu mengatur komputer Anda untuk memiliki IP statis. Jika Anda memiliki server DHCP yang berjalan di router Anda (yang merupakan kasus dalam 97% kasus), pastikan untuk menetapkan satu jauh di atas atau di bawahnya. Google untuk "alamat IP LAN statis" mungkin akan memunculkan instruksi tentang cara mengaturnya di berbagai OS.
  2. Ini akan berfungsi asalkan ISP Anda tidak memblokir koneksi masuk pada port 80; beberapa melakukan ini untuk alasan keamanan.
  3. Mungkin. Itu yang saya lakukan sekarang dengan ftp, http, ssh, vnc, xmpp, dan beberapa hal lainnya ...

Anda juga perlu menjalankan server web di komputer Anda. Hanya dapatkan Apache, ini berjalan di hampir semua hal dan itulah yang digunakan sebagian besar situs.

marcusw
sumber
1

Setelah memeriksa semua jawaban ini dan menautkan caranya, saya pikir mereka semua melibatkan pengaturan rumit dengan program besar (yang sebagian dibuat untuk tujuan lain) dan mengonfigurasi file dan hal-hal jadi saya memutuskan untuk menulis solusi saya sendiri.

https://github.com/rofl0r/nat-tunnel

Ini adalah skrip python 250 baris, yang dapat Anda jalankan langsung dari checkout git.

Contoh: Anda memiliki server HTTP yang mendengarkan pada mesin lokal Anda pada port 80. Anda ingin membuatnya tersedia di server cloud / VPS / dll IP publik di port 7000. Kami menggunakan port 8000 pada server cloud untuk saluran kontrol.

gunakan like

Server:

natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000

Klien:

natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000
the_JQ
sumber
0
  1. port-forward tcp traffic ke router Anda di port 80 ke pc Anda ke port_wh whatever_you_are_running_your_webserver

  2. Anda tidak memerlukan nama domain untuk memungkinkan orang lain mengakses server web Anda, ip publik sudah cukup. nama domain ke ip publik Anda lebih nyaman. kalau tidak rencanamu terlihat ok.

  3. router Anda hanyalah "firewall" antara publik dan server Anda. pengaturan seperti itu sangat umum.

akira
sumber
0

Coba hosting situs web statis Anda di IPFS

atau situs web dinamis di I2P

Volodimir Kopey
sumber
0

1.) Anda perlu port forward Port 80 ke alamat ip internal Anda pada Port 80

2.) Mungkin. Jika Anda memiliki ip statis dari ISP Anda, Anda sudah siap dengan strategi itu. Jika Anda tidak memiliki ip statis, Anda mungkin perlu menggunakan Dynamic Dns, yang merupakan tempat Anda menjalankan perangkat lunak pada server, dan itu terus memperbarui alamat IP dari nama domain Anda, yang biasanya merupakan sesuatu mereka menugaskan. Namun, Anda dapat mengatur catatan CNAME pada domain Anda yang menunjuk ke catatan dari penyedia dns dinamis.

3.) Saya pribadi tidak akan mengatakan itu biasa, tetapi juga tidak jarang.

JCA122204
sumber
-2

Strategi Anda cukup umum digunakan dan jika Anda membeli IP publik, maka cukup bagus untuk digunakan.

Anda harus mendapatkan XAMPP.XAMMP pra-konfigurasi dan Apache akan menggunakan port 80 secara default. Pastikan tidak ada proses lain yang berjalan di port 80 atau Apache tidak akan berjalan. Umumnya Skype (jika Anda menggunakan skype) memainkan olahraga busuk dan port babi 80 Anda harus menonaktifkannya dari pengaturan koneksi Anda.

Ini berisi Apache, PHP dan Mysql itu akan mengurus semua kebutuhan Anda. Hanya saja, jangan lupa untuk mengamankannya dengan baik .

Hanya perlu diingat bahwa XAMPP bukanlah perangkat lunak produksi tetapi harus melayani kebutuhan Anda untuk hosting situs web / blog pribadi.

Satu hal lagi, jika Anda ingin situs web ini beroperasi 24 jam sehari, 7 hari seminggu maka Anda harus menyalakan komputer Anda selama 24 jam sehari / 7 hari seminggu.

Jika Anda memerlukan domain gratis, Anda bisa mendapatkan co.cc untuk penggunaan pribadi, dan mereka memperbaruinya setiap tahun

rzlines
sumber