我对此还很陌生,所以我的术语可能有点松散。
我想建立一个包含许多内容的网站空间,一个通用网站和论坛等。我希望使用 DotNetNuke,在经历了一些事情之后,我非常感兴趣。我目前的托管服务很慢,更好的服务似乎有点贵。我目前的 ISP 服务不包括静态 IP。
为了避免开支,我现在想做的是继续使用我的托管计划和他们的 DNS 来解析他们提供的网站空间。然后我想通过我的 ISP 提供的动态 IP 在指定端口上重新绑定到我的家用计算机。我不想 Cloak/Mask/Forward/Rewrite,因为这一切似乎都需要付出很大努力才能将 xxx.xxx.xxx.xxx:2222/index.html 更改为 mydomain.com/index.html。我想保持正确的索引等等。
我并不是在问一般的程序。我问的是,这真的可能吗?我真的讨厌在琐碎的事情上浪费数百个小时,并且希望尽可能避免这样的事件。我的网络主机分配的 IIS AppPool 崩溃了,我不得不等待重新启动;研究表明可能存在资源过度消耗。我的网站在家里运行,运行顺畅且快速。
答案1
如果您可以让您的家庭服务器监听端口 80,那么这很简单。
- 使用 dyndns 为您的网站设置域名 (yoursite.dyndns.org)
进入你的主机控制面板的 DNS 并设置一个 cname:
yoursite.com。CNAME yoursite.dyndns.org www.yoursite.com。CNAME yoursite.dyndns.org
这句话的意思是,任何试图获取 yoursite.com 的 IP 的人应该获取 yoursite.dyndns.org 的 IP 地址 - 这将是您的 IP 地址。
如果您无法监听端口 80,那么反向代理是您实现此目的的唯一方法。重写不是一种选择,因为您无法透明地重写到另一台服务器。Apache 可以执行反向代理,但您的主机不太可能启用此功能。因此,您唯一的选择是编写一个基于php的反向代理。当然,那么您依靠主机的速度来进行代理(更不用说设置代理通常违反 ts&cs)。