如何使用Apache将子域转发到同一IP地址上的新端口?
我有一个NAS/服务器在家里全天候运行,并在其上运行许多不同的服务。我现在有一个域名指向它,我想知道是否有可能为不同的服务创建指向不同端口的子域。例如:如何使用Apache将子域转发到同一IP地址上的新端口?,apache,dns,web,subdomain,portforwarding,Apache,Dns,Web,Subdomain,Portforwarding,我有一个NAS/服务器在家里全天候运行,并在其上运行许多不同的服务。我现在有一个域名指向它,我想知道是否有可能为不同的服务创建指向不同端口的子域。例如: -->XXX.XXX.XXX.XXX:4040 -->XXX.XXX.XXX.XXX:25565 -->XXX.XXX.XXX.XXX:4082 我有一个单独的D-LINK路由器,该路由器当前将所有这些端口转发到我的NAS/服务器,其IP为192.168.0.104 编辑:服务器正在运行Ubuntu 12.04 我需要运行什么服务或代理才能
- -->XXX.XXX.XXX.XXX:4040
- -->XXX.XXX.XXX.XXX:25565
- -->XXX.XXX.XXX.XXX:4082
任何信息、想法或提示都会很有用。有两种方法可以做到这一点。您可以使用
httpd.conf
的VirtualHost部分,也可以在.htaccess
中使用。(假设子域解析为与Web服务器相同的IP)
在httpd.conf
中:
<VirtualHost *:80>
ServerName subsonic.mydomain.com
redirect / http://mydomain.com:4040/
</VirtualHost>
文档:-
-,包括和
-
-它实际上是重定向吗(因为R=301似乎是永久移动的http状态码)?还是显示网站的内容?在我的例子中,我想实现第二种情况。我认为这是一个有效的问题,并已将其标记为版主干预。应该重新开放。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^subsonic\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://mydomain.com:4040/$1 [R=301]