16

我有一个 NAS/服务器 24/7 在家里运行,并在其上运行许多不同的服务。我现在有一个指向它的域名,并且想知道是否可以创建指向不同服务的不同端口的子域。例如:

我有一个单一的 D-LINK 路由器,当前端口将所有这些端口转发到我的 IP 为 192.168.0.104 的 NAS/服务器。

编辑:服务器正在运行 Ubuntu 12.04。

我需要运行什么服务或代理才能识别子域并相应地路由流量?或者我可以使用 apache 虚拟主机来处理这个问题,因为这些子域将进入端口 80,而 apache 正在监听哪个端口?或者虚拟主机不是这样工作的?

任何信息、想法或提示都会有所帮助/有用。

4

1 回答 1

23

有两种方法可以做到这一点。您可以使用您的 VirtualHost 部分,httpd.conf也可以在.htaccess. (假设子域解析为与您的网络服务器相同的 IP)

httpd.conf

<VirtualHost *:80>
    ServerName subsonic.mydomain.com
    redirect / http://mydomain.com:4040/
</VirtualHost>

.htaccess

RewriteEngine on
RewriteCond %{HTTP_HOST} ^subsonic\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://mydomain.com:4040/$1 [R=301]

文档:
-创建基于名称的虚拟主机的指南
-核心,包括VirtualHostNameVirtualHost
-重定向
- mod_rewrite 指南

于 2012-10-04T17:55:24.190 回答