我正在尝试使用服务器上的VirtualHost和mod_proxy来向我正在运行的另一台服务器添加身份验证层。身份验证和基本加载工作正常,但是主页需要使用不同的第5层协议ws://而不是http://.在ProxyPass(反向)指令中,我必须提供要使用的第5层协议。我尝试过不提供协议,而是在开始标记中用不同的协议提供两个不同的虚拟主机。
<VirtualHost http://192.168.192.172:5440>和
<VirtualHost ws://192.168.192.172:5440>这两种方法在加载服务器时都失败。我是否还可以添加另一个指令,或者用另一种方法来设置VirtualHost呢?我当前的VirtualHost配置是:
<VirtualHost *:5440>
ProxyPass / "http://192.168.192.172:8080"
ProxyPassReverse / "http://192.168.192.172:8080"
ProxyPreserveHost On
</VirtualHost>提前感谢!
发布于 2016-12-28 07:57:30
Virtualhost不适用于完全url方案,在前两个示例中,Virtualhost只使用ip:port或*:port,甚至是default:port,但不要使用名称或完整url方案。
正确的例子:
<Virtualhost 192.168.192.172:5440>
<Virtualhost 192.168.192.172:5440 192.168.192.172:5441>
<Virtualhost *:5440>
<VirtualHost _default_:5440>在最后一个虚拟主机中,需要匹配ProxyPass中的斜杠,如果源中有结束斜杠,则将其添加到目标中,如果没有,请不要:
ProxyPass / http://192.168.192.172:8080/
ProxyPassReverse / http://192.168.192.172:8080/或
ProxyPass /something http://192.168.192.172:8080/something至于ws,请使用国防部_代理_乌特内尔
例如:
ProxyPass /ws/ ws://192.168.192.172/
ProxyPass /wss/ wss://192.168.192.172/https://serverfault.com/questions/822947
复制相似问题