我看到其他类似的问题,但不是确切的。
所以,我的问题是,我有一个家庭服务器,托pipe我的网站,并使用我的外部IP。 那么,而是我的域名指向该IP。 我有第二台电脑,我也想运行一个networking服务器。 我能想到的唯一方法就是使用不同的端口,并仍然访问我的域名。 做,www.mydomain.com会把我带到我的主要网站,但www.mydomain.com:8080会带我到我的第二台电脑,他托pipe一个网站。
这有道理吗? 这是可能的,因为这些是不同的电脑,我真的只有1 ip。
我想我可以做一个sub.mydomain.com子域,但不知道这是否会有所帮助。
谢谢。
是的,你可以在不同的端口上运行一个单独的网站。 但只要有一个子站点,它不会真的很重要,因为一个域只能指向一个IP地址,而不是一个IP地址+端口。 默认情况下,网站使用端口80:
http://domain.com与http://domain.com:80相同
所以如果你有一个子域名,并且你在不同的端口上运行一个网站,你必须指定它的端口,即http://sub.domain.com:8080
这里有几个选项取决于你想要做什么。 两台机器都不能在同一个IP和同一端口上应答,所以最简单的解决scheme是在另一个端口上运行它。
我将使用主机作为DNS条目,然后从那里closuresstream量。 所以你可以设置你的networking服务器代理或redirect其他域,甚至子文件夹到另一台机器。
所以www.domain.com会去machine1。 http://www.domain.com/otherfolder仍然会转到machine1,但是会被redirect或代理到machine2。 redirect很容易设置,但URL仍然会有备用端口。 代理是最透明的,因为一切仍然直接与machine1交谈。 虽然它可能会稍微慢一些,因为所有的通信都是在两个networking服务器到达最终客户端之前进行的。
您也可以在端口80服务器中指定虚拟主机,以便某个域(sub.mydomain.com)将redirect到sub.mydomain.com:8080。
把这个放在你的httpd.conf文件的最后(假定Apache使用mod_rewrite):
NameVirtualHost *:80 <VirtualHost *> ServerName mydomain.com DocumentRoot "C:/Web/Docs/" </VirtualHost> <VirtualHost *> ServerName sub.mydomain.com DocumentRoot "C:/Web/Docs/FileWithPHPRedirect/JustInCase" RewriteEngine On RewriteCond %{SERVER_PORT} !8080$ RewriteRule ^(.*) https://sub.mydomain.com:8080$1 [R=301,L] </VirtualHost>
让防火墙将端口8080转发到第二台服务器。 这里的path是Windowspath,只要需要就更改它们。