好吧,我在某个时刻因为阅读了数以百计的手册和说明页而仍然没有得到它,我觉得自己有很多愚蠢。我希望你能帮助我!
我有一台运行Ubuntu Server的服务器。在服务器上,我正在运行ddclient来使用dyn.com更新我的IP。在那里,我有一个域“rasterkomplex.net”,它指向更新的IP。容易。
还有一台连接到服务器的摄像头,它运行自己的网络服务器@端口3360。
当我现在进入时:rasterkomplex.net:3360 - 瞧。 但是现在有2个Minecraft服务器同时在5001和5002上运行。对于每个mc-server,都有dynmap-plugins,它们在不同的端口上也运行一个webserver。然后是一个网络存储......你明白了吗?我不想记住8个或更多端口,仅用于访问相关服务。
我想要完成的事情:
cam.rasterwerks.net -> internal to 127.0.0.1:3360
mc1.rasterwerks.net -> internal to 127.0.0.1:5001
mc2.rasterwerks.net -> internal to 127.0.0.2:5002
etc. etc. etc.
我读了很多关于VHosts,ProxyPass等的内容。但是我无法管理它的工作。
你能指点一下如何做到这一点吗?如果它与VHosts有关,可能是样本吗?
非常感谢您的时间!
此致
利亚。
答案 0 :(得分:1)
您可以apache
ProxyPass
mod_proxy
haproxy
重定向到这里或那里,或者您也可以安装haproxy
。然后,根据请求的URL中的主机将请求传递给一个或另一个Web存储。
frontend public
bind X.X.X.X:80
mode http
log global
option httplog
option dontlognull
option httpclose
maxconn 8000
clitimeout 90000
reqisetbe ^Host:\ .*hudson hudson
backend hudson
mode http
balance roundrobin
contimeout 120000
srvtimeout 120000
redispatch
retries 5
server internal.host.com Y.Y.Y.Y:8080 check inter 1000
的一个示例配置就是:
haproxy
因此,在此示例中,*.hudson
绑定到端口80,当请求的URL包含internal.host.com
时,它会被重定向到Y.Y.Y.Y
,其IP为8080
到端口apache
。
现在,基于NameVirtualHost *
的解决方案。
您可以定义多个具有不同名称的VHost,每个名称都包含以下内容。
要执行基于名称的虚拟主机,您的apache配置应包含:
<Virtualhost *>
DocumentRoot "/var/www/somewhere"
ServerName localhost
ServerAdmin support@mycompany.com
DirectoryIndex index.html index.php
ProxyRequests On
ProxyPreserveHost On
ProxyVia full
<proxy>
Order deny,allow
Allow from all
</proxy>
ProxyPass / http://somehost:1234/
ProxyPassReverse / http://somehost:1234/
</Virtualhost>
然后,vhost本身应该是:
{{1}}
随意选择对您来说更可行的解决方案。