我知道这个问题有很多答案,但不知怎的,他们都帮不了我。 我有一个Ubuntu运行3个webapps,每个都在不同的端口(8080-8282) – jira,汇合,还有一个。 现在我买了一个域名,用我的服务器的IP地址绑定了三个子域名,问题是他们都指向相同的IP地址和端口80.所以我想我现在需要Apache服务器。 现在我想要apache做的是redirect:
最好不要显示端口。 从我的理解,我应该添加一些行/etc/apache2/httpd.conf,所以我试过(这是字面上我的整个/etc/apache2/httpd.conf):
RewriteEngine on RewriteCond %{HTTP_HOST} http://jira.mydomain.com/ RewriteRule ^(.*)$ http://jira.mydomain.com:8181 [L,R] RewriteCond %{HTTP_HOST} http://wiki.mydomain.com/ RewriteRule ^(.*)$ http://wiki.mydomain.com:8080 [L,R]
但它不工作(每当我尝试例如wiki.mydomain.com我得到默认的Apache网站)。 那么我在这里错过了什么? (我知道,要能够隐藏端口号,我将不得不使用代理,但首先我只是想启用redirect)。
我会尝试使用这种方式的Apache
使用Vhosts和mod_proxy
它相当粗糙 (不要指望剪切和粘贴):)
<VirtualHost jira.mydomain.com:*> ProxyPreserveHost On ProxyPass / http://jira.mydomain.com:8181/ ProxyPassReverse / http://jira.mydomain.com:8181/ ServerName jira.mydomain.com </VirtualHost> <VirtualHost wiki.mydomain.com:*> ProxyPreserveHost On ProxyPass / http://wiki.mydomain.com:8080/ ProxyPassReverse / http://wiki.mydomain.com:8080/ ServerName wiki.mydomain.com </VirtualHost>