我的电脑在具有公共IP地址的NAT路由器后面。如果我想托管一个网站,那么我相信我需要一个域名,我可以从某个站点购买一个域名,该域名将承诺解决该域名的所有DNS请求并发送我的NAT路由器的IP地址(假设我不想在他们的服务器上托管我的域名)。现在,我想在我的计算机上托管一个Web服务器。
- 应该对NAT路由器的配置进行哪些更改,以将example.com的所有HTTP请求转发到内部网络中的PC。
- 以上策略正确吗?
- 常用吗?
我的电脑在具有公共IP地址的NAT路由器后面。如果我想托管一个网站,那么我相信我需要一个域名,我可以从某个站点购买一个域名,该域名将承诺解决该域名的所有DNS请求并发送我的NAT路由器的IP地址(假设我不想在他们的服务器上托管我的域名)。现在,我想在我的计算机上托管一个Web服务器。
Answers:
如您所述,将服务器托管在NAT之后是可行的。
请参阅ServersBehindNAT上的Ubuntu帮助页面以了解基础知识。
更多参考,
这是假设您知道如何托管Web服务器并且需要有关NAT的想法。
另一种选择可能是类似homelinux的东西,其中您的动态IP地址可以映射到statix .homelinux。网址
除了“ homelinux”以外,还有其他选择
您还需要在计算机上运行Web服务器。只需获取Apache,它就可以在几乎所有平台上运行,并且是大多数站点使用的平台。
在检查了所有这些答案并链接了how-to之后,我认为它们都涉及大型程序(部分用于其他目的)以及配置文件和内容的精心设置,因此我决定编写自己的解决方案。
https://github.com/rofl0r/nat-tunnel
这是一个250行的python脚本,您可以直接从git checkout运行它。
示例:您有一个HTTP服务器正在端口80上侦听本地计算机。您想使其在端口7000上的云服务器/ VPS / etc的公用IP上可用。我们使用云服务器上的端口8000作为控制通道。
使用像
服务器:
natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000
客户:
natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000
您的策略非常常用,如果您购买了公共IP,那么您的策略就很不错了。
您应该获得XAMPP。XAMMP已预先配置,默认情况下Apache将使用端口80。确保端口80上没有其他进程在运行,否则Apache将无法运行。通常,Skype(如果您使用的是Skype)播放被破坏的运动和猪端口80,则需要从连接设置中将其禁用。
它包含Apache,PHP和Mysql,它将满足您的所有需求。只是不要忘记保护好它。
请记住,XAMPP不是生产软件,但它可以满足您托管个人网站/博客的需求。
还有一件事,如果您希望该网站保持24/7全天候运行,则必须将计算机保持在24/7全天候运行。
如果您需要免费域名,可以获取一个co.cc供个人使用,他们每年都会续订该域名。