題 如何讓我的家用電腦成為網絡服務器?


我正在PC上運行Apache Tomcat。我的電腦連接到我家的路由器,路由器連接到我的ISP。現在我想在我的電腦上運行服務器,以便我的朋友可以查看我的電腦上託管的網站。 如果我去網站 https://whatismyip.com 我知道我的IP地址是xx.xx.xx.xx.這是我的路由器的IP。如果我輸入 HTTP://xx.xx.xx.xx 在我的瀏覽器中,我的路由器要求輸入用戶名和密碼。這意味著我的朋友可以連接到我的路由器。如何讓他們看到在我的電腦上運行的Tomcat上託管的網站?

我不想使用商業託管,並且由於某些原因我想僅將我的PC用作服務器。

我的路由器的內部IP是192.162.1.1,而我的PC的內部IP是192.162.1.2。


8
2017-08-12 09:44


起源


不,不是服務器故障。這是最終用戶問題 - 而不是系統管理員問題。這應該去superuser.com。
也許你是代理人的背後。
我認為這台PC運行Windows?運行Linux的PC需要稍微不同的指令。 - David Thornley


答案:


您需要將請求轉發到Web服務器(可能是端口80)到您的計算機(.1.2)。您在路由器上配置它。


14
2017-08-12 09:47



注意,這通常在路由器上稱為“端口轉發”。一種更簡單但更不安全的方法是在路由器上使用DMZ打開網絡服務器的所有端口。這有時會使您在網絡服務器上託管多項服務變得更加容易,例如游戲服務器,VoIP服務器等。 - Will Eddins
打開傳入請求的端口要非常小心。那裡有很多人在隨機IP地址敲門,看看誰回答。 - David Thornley


你需要做一些事情:

  • 確保更改路由器密碼並鎖定路由器,因為您將公開提供IP,路由器的配置非常重要。下載最新固件以防止安全漏洞可能是個好主意。

  • 將您的Web請求轉發到路由器上的本地計算機。尋找“端口轉發”選項,這將強制您的路由器的某個端口上的所有請求轉發到您的計算機的IP地址

  • 盡量確保您的內部IP地址保持不變。某些高級路由器可以為您的計算機的MAC地址保留一定的IP地址,因此請對您的路由器進行此配置。如果路由器軟件無法執行此操作,則只要計算機重新啟動(或以某種方式獲取另一個IP地址),您可能必須在“端口轉發”映射中更新內部IP地址。您還可以將計算機配置為使用硬編碼的內部IP地址,但這可能會增加額外的問題,這也超出了此處的討論範圍。

  • 如果您是ISP為您提供動態IP地址,那麼每次更改時向您的朋友發送新IP地址都會很麻煩,因此您可以註冊動態IP服務(www.dyndns.org)將有一個程序,將為您更新DNS條目。大多數現代路由器都將此服務器內置到固件中,您可以查找它,然後您就不必在計算機上運行該軟件。

  • 出於安全原因,減少發送到此計算機的其他請求的數量(例如,Windows文件共享,ftp,bit torrent等)。

  • 端口80是Web瀏覽器和服務器使用的默認端口,因此當您訪問站點時 http://www.mysite.com,你在端口80上請求它)

  • 端口8009是tomcat使用的默認端口,因此如果您使用的是tomcat,則可能需要將端口80替換為下面的端口8009。

  • 您不必為本地計算機上的Web服務器執行任何其他端口配置,您可以讓路由器執行映射並使Web服務器在計算機上的端口80或8009上運行。

  • 例如,我想使用端口12345,然後我可以配置我的路由器,以便我的路由器上的端口12345上的任何請求都將被發送到我本地計算機上的端口80(或8009)。這使您只需轉到即可訪問該計算機上的Web服務器 HTTP://本地主機/  要么 HTTP://本地主機:8009  。您網絡上的其他內部計算機必須通過IP地址訪問(HTTP://192.168.1X)或者您可以編輯yoru主機文件並指定名稱。

  • 重要的是要知道大多數ISP的塊端口80(和其他公共端口)不能用作Web服務器,即使您的所有配置屬性都已結束,您的朋友仍可能無法在您的計算機上訪問端口80。這通常是為了使ISP客戶能夠為其“業務”產品提供更多現金。因此,如果您真的希望您的朋友訪問您的Web服務器,您可能必須在另一個端口上打開您的路由器。您將希望遠離低數字端口,並且您還希望避免使用路由器配置的端口。

如果您正確執行上述所有操作,則應該能夠擁有穩定的URL(例如 http://myusername.dyndns.org:12345 )你的朋友可以隨意收藏和使用


11
2017-09-16 18:38





您需要將HTTP(tcp / 80)轉發到您的電腦(192.162.1.2)。每個路由器略有不同,所以你需要找到 針對您特定型號的一些說明

如果你的路由器支持UPnP,那麼 (他們是屏幕抓取 - 不使用UPnP)你也可以這樣做 根據需要自動化 (更好的安全性)為$$。


6
2017-08-12 09:50





您必須在路由器上轉發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. 啟動Web服務器

從您的路由器轉發端口80從您的路由器到您的PC IP地址。完成後,請告訴您的朋友使用以訪問您的網站 HTTP://xx.xx.xx.xx/webAppName。這裡xx.xx.xx.xx是您的IP地址,webAppName是您的網站項目。

默認情況下,ISP將阻止端口8080,因此您必須更改tomcat使用的端口。


1
2017-08-12 09:57



ISP通常不會默認阻止端口。你的城市/國家可能就是這種情況(我猜美國),但總的來說情況肯定不是這樣。在許多國家,互聯網服務提供商實際上擁有相當公平的服務條款,沒有任何端口阻塞(或帶寬限制)。 - Mikael Auno
礦塊80端口,但允許8080!每個ISP都有所不同。 - Kevin Panko


如果您對端口轉發不感興趣或者聽起來很複雜,那麼大多數路由器都有稱為DMZ的設置。將您的網絡服務器(託管網站的機器)放在DMZ中,以便從外部世界看到它。然後,如果您還沒有註冊域名,請讓您的朋友在您的瀏覽器中輸入您的IP。


0
2017-08-12 11:49



鑑於OP顯然不是這方面的專家,我建議不要有效地解鎖所有端口。那裡有足夠的漏洞,並且人們無法掃描端口和IP地址以嘗試使用這些漏洞,並且在這個級別需要幫助的人不太可能知道如何阻止它們。 DMZ有點像“PWN ME”。 - David Thornley


您需要在端口80(http)的路由器上設置“端口轉發”到您的PC,我還建議設置“靜態DHCP”,以便路由器 總是 在啟動時為您的PC分配相同的IP。

請注意,當您執行此操作時,您將PC暴露在黑客的世界中。確保安裝了當前版本的apache / tomcat,並定期應用更新。

如果您的路由器支持它,您可能需要設置“動態DNS”,以便為您的計算機在互聯網上提供永久名稱(而不是有時更改的IP#。)查看dyndns.com並查看其免費的動態DNS選項。


0
2017-08-12 14:07





靜態IP是必須的......如果你有動態IP,它會不斷變化,你需要與你的朋友就新IP進行親密接觸


0
2017-09-16 18:24