如何使家用PC成为Web服务器?


8

我在PC上运行Apache Tomcat。我的PC已连接到我家中的路由器,而该路由器已连接到我的ISP。现在,我想在PC上运行服务器,以便我的朋友可以查看PC上托管的站点。如果我访问https://whatismyip.com网站,我知道我的IP地址是xx.xx.xx.xx。我猜这是我路由器的IP。如果在浏览器中输入http://xx.xx.xx.xx,则路由器会要求输入用户名和密码。这意味着我的朋友可以连接到我的路由器。如何允许他们查看在PC上运行的Tomcat上托管的站点?

由于某些原因,我不想使用商业托管,并且我只想将PC用作服务器。

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


3
不,不是serverfault。这是一个最终用户问题,而不是系统管理员问题。这应该去superuser.com。

也许您在代理后面。

我认为这台PC正在运行Windows?运行Linux的PC需要稍有不同的说明。
David Thornley 2009年

Answers:


14

您需要将对Web服务器(可能是端口80)的请求转发到计算机(.1.2)。您在路由器上配置它。


2
请注意,这通常在路由器上称为“端口转发”。一种比较简单但安全性较低的方法是在路由器上使用DMZ打开Web服务器的所有端口。有时这会使得它托管在您的Web服务器多种服务,比如游戏服务器,VoIP服务器等时更容易
威尔Eddins

1
并且在为传入请求打开端口时要非常小心。有很多人在随机IP地址上敲端口以查看谁回答。
David Thornley

11

您将需要做一些事情:

  • 确保更改路由器密码并锁定路由器,因为您将使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,则可能要用下面的端口8009替换端口80。

  • 您不必为本地计算机上的Web服务器执行任何其他端口配置,您可以让路由器进行映射,并使Web服务器在计算机上的端口80或8009上运行。

  • 例如,假设我要使用端口12345,则可以配置路由器,以便路由器上端口12345上的任何请求都将发送到本地计算机上的端口80(或8009)。这样,您只需访问http:// localhost /http:// localhost:8009即可访问该计算机上的Web服务器 。网络上的其他内部机器将不得不通过IP地址访问(HTTP://192.168.1X),也可以编辑夜的主机文件,并指定一个名称。

  • 重要的是要知道大多数ISP的阻止端口80(和其他常见端口)都不能用作Web服务器,因此,即使您在终端上配置了所有属性,您的朋友仍可能无法访问计算机上的端口80 。通常这样做是为了让ISP客户为他们的“业务”产品投入更多的现金。因此,如果您确实希望您的朋友访问您的Web服务器,则可能必须在另一个端口上打开路由器。您将要远离低号端口,并且也要避免使用路由器配置的端口。

如果您正确地完成了上述所有操作,则您应该可以拥有一个稳定的URL(例如http://myusername.dyndns.org:12345),您的朋友可以随意添加书签并使用它们


6

您需要将HTTP(tcp / 80)转发到PC(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. 启动Web服务器

从路由器将端口80从路由器转发到您的pc ip地址。完成此操作后,告诉您的朋友使用http://xx.xx.xx.xx/webAppName访问您的网站。这里xx.xx.xx.xx是您的IP地址,而webAppName是您的网站项目。

默认情况下,ISP将阻止端口8080,因此您必须更改tomcat使用的端口。


默认情况下,ISP通常不会阻止端口。在您所在的城市/国家(我想是美国)可能就是这种情况,但是总体上肯定不是这种情况。在许多国家/地区,ISP实际上具有相当公平的服务条款,没有任何端口阻塞(或与此相关的带宽上限)。
米卡·奥诺

我的封锁了80端口,但允许8080!每个ISP都不同。
凯文·潘科

0

如果您对端口转发不感兴趣或听起来很复杂,则大多数路由器都将其称为DMZ。将您的Web服务器(托管网站的计算机)放入DMZ,以便可以从外界看到它。然后,如果您尚未注册域名,请让您的朋友在浏览器中输入IP。


考虑到OP显然不是这种事情的专家,我建议不要有效地解除对所有端口的阻塞。那里有足够多的漏洞利用,没有尽头的人扫描端口和IP地址以尝试使用这些漏洞,并且在此级别需要帮助的人不太可能知道如何阻止它们。DMZ有点像“ PWN ME”。
David Thornley,2009年

0

您将需要在端口80(http)的路由器上为您的PC设置“端口转发”,并且我建议设置“静态DHCP”,以便路由器在启动时始终为您的PC分配相同的IP。

请注意,这样做时会将PC暴露给黑客的世界。确保您已安装最新版本的apache / tomcat并定期应用更新。

如果您的路由器支持,则可能需要设置“动态DNS”,以便为您的计算机提供Internet上的永久名称(而不是有时会更改的IP#。)。请访问dyndns.com并查看其免费的动态DNS选项。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.