ฉันจะทำให้พีซีที่บ้านของฉันเป็นเว็บเซิร์ฟเวอร์ได้อย่างไร


8

ฉันใช้ Apache Tomcat บนเครื่อง PC พีซีของฉันเชื่อมต่อกับเราเตอร์ในบ้านของฉันและเราเตอร์เชื่อมต่อกับ ISP ของฉัน ตอนนี้ฉันต้องการเรียกใช้เซิร์ฟเวอร์บนพีซีของฉันเพื่อให้เพื่อนของฉันสามารถดูไซต์ของฉันที่โฮสต์บนพีซีของฉัน หากฉันไปที่เว็บไซต์https://whatismyip.comฉันรู้ว่าที่อยู่ IP ของฉันคือ xx.xx.xx.xx. นี่คือ IP ของเราเตอร์ของฉันฉันเดา หากฉันพิมพ์http: //xx.xx.xx.xxในเบราว์เซอร์ของฉันเราเตอร์ของฉันจะขอชื่อผู้ใช้และรหัสผ่าน นี่หมายความว่าเพื่อนของฉันสามารถเชื่อมต่อกับเราเตอร์ของฉันได้ ฉันจะอนุญาตให้พวกเขาดูไซต์ที่โฮสต์บน Tomcat ที่ทำงานบนพีซีของฉันได้อย่างไร

ฉันไม่ต้องการใช้โฮสติ้งเชิงพาณิชย์และฉันต้องการใช้พีซีของฉันเป็นเซิร์ฟเวอร์เนื่องจากเหตุผลบางประการ

IP ภายในของเราเตอร์ของฉันคือ 192.162.1.1 และพีซีของฉันคือ 192.162.1.2


3
ไม่ไม่ใช่เซิร์ฟเวอร์ผิดพลาด นี่เป็นคำถามของผู้ใช้งานไม่ใช่ผู้ดูแลระบบ สิ่งนี้ควรไปที่ superuser.com

บางทีคุณอยู่หลังพรอกซี

ฉันใช้พีซีเครื่องนี้ใช้ Windows หรือไม่ พีซีที่ใช้ Linux ต้องมีคำแนะนำที่แตกต่างกันเล็กน้อย
David Thornley

คำตอบ:


14

คุณต้องส่งต่อคำขอไปยังเว็บเซิร์ฟเวอร์ (พอร์ต 80 อาจ) ไปยังเครื่องของคุณ (.1.2) คุณกำหนดค่านี้ในเราเตอร์ของคุณ


2
หมายเหตุนี่มักจะเรียกว่า "การส่งต่อพอร์ต" บนเราเตอร์ วิธีที่ง่ายกว่าแม้ว่าปลอดภัยน้อยกว่าคือใช้ DMZ บนเราเตอร์ของคุณเพื่อเปิดพอร์ตทั้งหมดไปยังเว็บเซิร์ฟเวอร์ของคุณ ซึ่งบางครั้งอาจจะทำให้มันง่ายขึ้นเมื่อบริการโฮสติ้งหลายคนบนเว็บเซิร์ฟเวอร์ของคุณเช่นเซิร์ฟเวอร์เกมเซิร์ฟเวอร์ VoIP ฯลฯ
Will Eddins

1
และระมัดระวังการเปิดพอร์ตสำหรับคำขอเข้ามา มีผู้คนมากมายที่เคาะพอร์ตที่ที่อยู่ IP แบบสุ่มเพื่อดูว่าใครตอบ
David Thornley

11

คุณจะต้องทำบางสิ่ง:

  • ตรวจสอบให้แน่ใจว่าได้เปลี่ยนรหัสผ่านเราเตอร์ของคุณและล็อคเราเตอร์ของคุณไว้เนื่องจากคุณจะทำให้ IP ของคุณเปิดเผยต่อสาธารณะการกำหนดค่าเราเตอร์ของคุณจึงมีความสำคัญมาก อาจเป็นความคิดที่ดีที่จะดาวน์โหลดเฟิร์มแวร์ตัวล่าสุดเพื่อป้องกันการหาประโยชน์จากความปลอดภัย

  • ส่งต่อคำขอทางเว็บของคุณไปยังเครื่องท้องถิ่นของคุณบนเราเตอร์ของคุณ ค้นหาตัวเลือก "การส่งต่อพอร์ต" ซึ่งจะบังคับให้คำขอทั้งหมดในพอร์ตที่แน่นอนเราเตอร์ของคุณจะถูกส่งต่อไปยังที่อยู่ IP ของเครื่องของคุณ

  • พยายามให้แน่ใจว่าที่อยู่ IP ภายในของคุณยังคงเหมือนเดิม เราเตอร์ขั้นสูงบางตัวสามารถจองที่อยู่ IP ที่แน่นอนสำหรับที่อยู่ MAC ของคอมพิวเตอร์ของคุณได้ดังนั้นทำการกำหนดค่านี้กับเราเตอร์ของคุณ หากซอฟต์แวร์เราเตอร์ของคุณไม่สามารถทำได้คุณอาจต้องอัปเดตที่อยู่ IP ภายในของคุณในการแมป "การส่งต่อพอร์ต" ทุกครั้งที่คอมพิวเตอร์ของคุณบูทเครื่องใหม่ (หรือรับที่อยู่ IP อื่น ๆ ) นอกจากนี้คุณยังสามารถทำให้คอมพิวเตอร์ของคุณใช้ที่อยู่ IP แบบตายตัวได้ซึ่งอาจเพิ่มปัญหาเพิ่มเติมเกินขอบเขตที่จะอภิปรายได้ที่นี่

  • หาก ISP ของคุณให้ที่อยู่ IP แบบไดนามิกกับคุณคุณสามารถส่งที่อยู่ IP ใหม่ให้เพื่อนของคุณได้ทุกครั้งที่มีการเปลี่ยนแปลงดังนั้นคุณจึงสามารถสมัครใช้บริการ IP แบบไดนามิก (www.dyndns.org) ซึ่ง จะมีโปรแกรมที่จะอัพเดตรายการ dns ให้คุณ เราเตอร์ที่ทันสมัยส่วนใหญ่มีเซิร์ฟเวอร์นี้อยู่ในเฟิร์มแวร์คุณสามารถค้นหาได้จากนั้นคุณไม่จำเป็นต้องเรียกใช้ซอฟต์แวร์บนเครื่องของคุณ

  • เพื่อเหตุผลด้านความปลอดภัยให้ลดจำนวนคำขออื่น ๆ ที่ส่งไปยังเครื่องนี้ (เช่นการแชร์ไฟล์ windows, ftp, bit torrent เป็นต้น)

  • พอร์ต 80 เป็นพอร์ตเริ่มต้นที่ใช้โดยเว็บเบราว์เซอร์และเซิร์ฟเวอร์ดังนั้นเมื่อคุณเข้าถึงเว็บไซต์http://www.mysite.comคุณกำลังร้องขอพอร์ต 80)

  • พอร์ต 8009 เป็นพอร์ตเริ่มต้นที่ใช้โดย Tomcat ดังนั้นหากคุณใช้ Tomcat คุณอาจต้องการแทนที่พอร์ต 80 ด้วยพอร์ต 8009 ด้านล่าง

  • คุณไม่ต้องทำการกำหนดค่าพอร์ตอื่นใดสำหรับเว็บเซิร์ฟเวอร์บนเครื่องของคุณคุณสามารถให้เราเตอร์ทำการแมปและปล่อยให้เว็บเซิร์ฟเวอร์ทำงานบนพอร์ต 80 หรือ 8009 บนเครื่องของคุณ

  • ตัวอย่างว่าฉันต้องการใช้พอร์ต 12345 จากนั้นฉันสามารถกำหนดค่าเราเตอร์ของฉันเพื่อให้คำขอใด ๆ ในพอร์ต 12345 บนเราเตอร์ของฉันจะถูกส่งไปยังพอร์ต 80 (หรือ 8009) บนเครื่องท้องถิ่นของฉัน นี้ช่วยให้คุณสามารถเข้าถึงเว็บเซิร์ฟเวอร์ของเราบนเครื่องที่เพียงโดยไปที่http: // localhost / หรือ http: // localhost: 8009 เครื่องภายในอื่น ๆ ในเครือข่ายของคุณจะต้องเข้าถึงด้วยที่อยู่ IP ( http: //192.168.1 . x ) หรือคุณสามารถแก้ไขไฟล์โฮสต์ yoru และกำหนดชื่อได้

  • สิ่งสำคัญคือต้องทราบว่าพอร์ตบล็อก 80 ของ ISP ส่วนใหญ่ (และพอร์ตทั่วไปอื่น ๆ ) ไม่ได้ถูกใช้เป็นเว็บเซิร์ฟเวอร์ดังนั้นแม้ว่าคุณจะมีคุณสมบัติทุกอย่างที่กำหนดไว้ที่ปลายเพื่อนของคุณก็ยังไม่สามารถกดพอร์ต 80 บนเครื่องของคุณได้ . โดยทั่วไปแล้วจะทำเช่นนี้เพื่อให้ลูกค้า ISP จะแยกเงินสดมากขึ้นสำหรับข้อเสนอ "ธุรกิจ" ของพวกเขา ด้วยเหตุนี้คุณอาจต้องเปิดเราเตอร์ของคุณบนพอร์ตอื่นหากคุณต้องการให้เพื่อนของคุณเข้าถึงเว็บเซิร์ฟเวอร์ของคุณ คุณจะต้องอยู่ห่างจากพอร์ตหมายเลขต่ำและคุณจะต้องหลีกเลี่ยงการใช้พอร์ตที่เราเตอร์ของคุณกำหนดค่าเช่นกัน

หากคุณทำทุกอย่างถูกต้องคุณควรมี URL ที่มั่นคง (เช่นhttp://myusername.dyndns.org:12345 ) ที่เพื่อนของคุณสามารถคั่นหน้าและใช้งานได้ตามต้องการ


6

คุณต้องส่งต่อ HTTP (tcp / 80) ไปยังพีซีของคุณ (192.162.1.2) เราเตอร์แต่ละแตกต่างกันเล็กน้อยดังนั้นคุณจะต้องไปหาคำแนะนำบางอย่างสำหรับรูปแบบเฉพาะของคุณ

หากเราเตอร์ของคุณรองรับ UPnP ดังนั้น (พวกเขากำลังขูดหน้าจอ - ไม่ใช้ UPnP) คุณสามารถทำได้โดยอัตโนมัติตามต้องการ (ความปลอดภัยที่ดีขึ้น) สำหรับ $$


1

คุณต้องส่งต่อพอร์ต Tomcat ของคุณบนเราเตอร์ของคุณ พอร์ต Tomcat เริ่มต้นคือ 8080 จะดีกว่าถ้าคุณเปลี่ยนพอร์ต Tomcat ของคุณเป็น 80 ทำตามขั้นตอนต่อไปนี้เพื่อเปลี่ยนพอร์ต Tomcat ของคุณ

  1. เปิดโฟลเดอร์ tomcat \ conf บนคอมพิวเตอร์ของคุณ
  2. ขณะนี้มีเท็กซ์เอดิเตอร์ที่คุณต้องเปิดและแก้ไข server.xml ที่นี่คุณต้องระบุบรรทัดต่อไปนี้ (บรรทัด 184) และคุณแก้ไขเพื่อให้การเปลี่ยนแปลงจาก:

ถึง:

<Http10Connector port="80"
secure="false"
maxThreads="100"
maxSpareThreads="50"
minSpareThreads="10" />
  1. เริ่มต้นเว็บเซิร์ฟเวอร์

จากเราเตอร์ของคุณไปข้างหน้าพอร์ต 80 จากเราเตอร์ของคุณไปยังที่อยู่ ip ของพีซี ครั้งนี้จะทำบอกเพื่อนของคุณในการเข้าถึงเว็บไซต์ของคุณโดยใช้http: //xx.xx.xx.xx/webAppName ที่นี่ xx.xx.xx.xx คือที่อยู่ IP ของคุณและ webAppName เป็นโครงการเว็บไซต์ของคุณ

โดยค่าเริ่มต้น ISP จะบล็อกพอร์ต 8080 ดังนั้นคุณต้องเปลี่ยนพอร์ต tomcat ที่ใช้


โดยทั่วไปแล้ว ISP จะไม่บล็อกพอร์ตตามค่าเริ่มต้น อาจเป็นกรณีในเมือง / ประเทศของคุณ (ฉันเดา USA) แต่นั่นไม่ใช่กรณีโดยทั่วไป ในหลายประเทศผู้ให้บริการอินเทอร์เน็ตมีเงื่อนไขการให้บริการที่ค่อนข้างยุติธรรมโดยไม่มีการปิดกั้นพอร์ต (หรือการกำหนดแบนด์วิดท์สำหรับเรื่องนั้น ๆ )
Mikael Auno

เหมืองบล็อคพอร์ต 80 แต่อนุญาต 8080! มันแตกต่างกันสำหรับแต่ละ ISP
Kevin Panko

0

หากคุณไม่สนใจการส่งต่อพอร์ตหรือหากฟังดูซับซ้อนเราเตอร์ส่วนใหญ่จะตั้งค่า DMZ ใส่เว็บเซิร์ฟเวอร์ของคุณ (เครื่องที่โฮสต์เว็บไซต์) ใน DMZ เพื่อให้สามารถมองเห็นได้จากโลกภายนอก จากนั้นหากคุณไม่ได้จดทะเบียนชื่อโดเมนให้เพื่อนพิมพ์ IP ของคุณลงในเบราว์เซอร์ของเขา


เนื่องจาก OP เห็นได้ชัดว่าไม่ใช่ผู้เชี่ยวชาญในเรื่องนี้ฉันขอแนะนำไม่ให้ยกเลิกการบล็อกพอร์ตทั้งหมดอย่างมีประสิทธิภาพ มีการหาช่องโหว่ที่เพียงพอและไม่มีผู้คนที่กำลังสแกนพอร์ตและที่อยู่ IP เพื่อพยายามใช้ช่องโหว่เหล่านั้นและคนที่ต้องการความช่วยเหลือในระดับนี้ก็ไม่น่าจะรู้ว่าจะหยุดพวกเขาได้อย่างไร DMZ นั้นเหมือน "PWN ME"
David Thornley

0

คุณจะต้องตั้งค่า "ส่งต่อพอร์ต" บนเราเตอร์ของพอร์ต 80 (HTTP) ไปยังเครื่องคอมพิวเตอร์ของคุณและยังผมขอแนะนำการตั้งค่า "DHCP คงที่" เพื่อให้เราเตอร์มักจะกำหนด IP เดียวกันไปยังเครื่องคอมพิวเตอร์ของคุณเมื่อมันรองเท้า

โปรดทราบว่าคุณกำลังเปิดเผยพีซีของคุณสู่โลกของแฮ็กเกอร์เมื่อคุณทำเช่นนี้ ตรวจสอบให้แน่ใจว่าคุณติดตั้ง apache / tomcat เวอร์ชันปัจจุบันแล้วและคุณใช้การอัปเดตเป็นประจำ

หากเราเตอร์ของคุณรองรับคุณอาจต้องการตั้งค่า "ไดนามิก DNS" เพื่อให้ชื่อของคุณถาวรบนอินเทอร์เน็ต (แทนการเปลี่ยน IP # บางครั้ง) ดูที่ dyndns.com และดูตัวเลือก DNS แบบไดนามิกฟรี


0

IP แบบคงที่เป็นสิ่งที่ต้องมี ... หากคุณมี IP แบบไดนามิกมันจะเปลี่ยนไปเรื่อย ๆ และคุณต้องใกล้ชิดกับเพื่อนของคุณเกี่ยวกับ IP ใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.