java - Apache Tomcat 服务器子域
问题描述
我在远程服务器上运行 apache tomcat,我有一个带有子域的域。我想为每个子域分配一个单独的项目。我无法在除 localhost 之外的其他域上运行 apache。域绑定到远程服务器 IP 地址,因此所有子域都指 webapps 文件夹中的所有项目,而不是一个特定的。
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="https://web-dev.example.com/" appBase="web-dev.example.com"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
解决方案
您的name
主机属性应包含虚拟主机的 DNS 名称:
通常是该虚拟主机的网络名称,在您的域名服务服务器中注册。无论用于指定主机名的大小写如何,Tomcat 都会在内部将其转换为小写。
(参见Tomcat 文档)。
因此,您应该使用:
<Host name="web-dev.example.com"
appBase="web-dev.example.com">
...
</Host>
(我省略了具有默认值的属性)。
推荐阅读
- graphql - 传递一个变量来解析 Apollo Federation 中的引用
- c# - 如何在 C# 的复制构造函数中使用“with”关键字?
- python - tkinter python中的CheckButton在按钮功能中不起作用
- mysql - MYSQL:如何显示来自彼此对应的不同表的信息?
- javascript - 通过 cdn 使用 babylon.js 时调整大小错误
- javascript - 使用 Mocha 从控制台日志中检索 access_token
- apache-kafka - 当节点长时间关闭时,Kafka Stream 停止重新连接
- python - 如何使用 Python 在 SharePoint 的文档库中访问文件和文件夹
- swift - AVAudioEngine 不播放声音
- swift - 如何使用 Swift for macOS 从 USB 输入设备播放音频