当前位置: 首页 > 知识库问答 >
问题:

特定虚拟主机的Tomcat 8管理器用户

督瑞
2023-03-14

我有两个虚拟主机,每个主机都部署了管理器应用程序。Tomcat 8.0\conf\tomcat-users.xml中还添加了一个具有Manager-gui角色的用户,该用户可以访问两个主机的管理器应用程序。是否有任何方法将管理器用户限制为特定的主机?

共有2个答案

田硕
2023-03-14

首先,在[tomcat_home]/conf中创建一个新的用户xml数据库文件,我们称之为tomcat-users-2.xml

将以下条目添加到tomcat-users-2中。xml文件:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <user username="[$yourUsername]" password="[$yourPassword]" roles="tomcat,manager-gui"/>
</tomcat-users>

请注意,您可以在

然后在你的[tomcat_home]/conf/server.xml文件中,找到

<Resource name="UserDatabase2" auth="Container"
          type="org.apache.catalina.UserDatabase"
          description="User database that can be updated and saved"
          factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="conf/tomcat-users-2.xml" />

将以下代码放入

<代码>

最后,您必须重新启动Tomcat才能使更改生效。

韦熙云
2023-03-14

您可以在[tomcat_home]/conf/Catalina/[hostname]/manager中为每个上下文定义一个域。xml

<Context docBase="${catalina.home}/webapps/manager">

    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
           resourceName="userDatabase_2"/>

<Context>

然后在server.xml中为每个上下文添加一个指向替代tomcat-users.xml文件的额外资源:

<Resource name="userDatabase_2" auth="Container"
          type="org.apache.catalina.UserDatabase"
          description="another user database"
          factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="/conf/tomcat-users-2.xml" />

我必须承认,我还没有彻底测试过这一点。尽管它可能有效,但不建议在生产系统上使用UserDatabaseRealm。

例如,如果您喜欢使用基于表单的身份验证,请使用DataSourceRealm,您可以更改[tomcat_home]/webapps/host-Manager/WEB-INF/web.xml中的login-config以使用基于表单的身份验证,并在Context元素中包含数据源资源。https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html

 类似资料:
  • 熟悉使用 Vagrant 管理虚拟机的流程。 查看状态 如果你已经登录到了虚拟机上,先退出来。在命令行下看到下面提示符就表示你已经登录到虚拟机上了: [[email protected] ~]$ 输入命令: exit 应该会返回: logout Connection to 127.0.0.1 closed. 现在你的位置应该是在项目的根目录下面,先查看一下虚拟机的状态: vagrant st

  • In 1974 computers were oppressive devices in far-off air-conditioned places. Now you can be oppressed in your own living room. — Ted Nelson 虽然能够在云中部署虚拟机是一个创举,但若能将虚拟机运行在你自己的桌面系统中有时甚至是更方便的, 尤其对于测试来说更是如此

  • 两个虚拟主机(纯静态-html 支持) - Two Virtual Hosts, Serving Static Files http { : server { : listen 80; : server_name www.domain1.com; : access_log logs/domain1.access.log main; : location / {

  • 主要内容:Apache虚拟主机类型,3. 虚拟主机配置示例Apache Web服务器可以在SAME服务器上托管多个网站。每个网站不需要单独的服务器机器和apache软件。这可以使用虚拟主机或VHost的概念来实现。 要在Web服务器上托管的任何域(网站应用)都将在apache配置文件中具有单独的条目。 Apache虚拟主机类型 Apache虚拟主机类型有两种 - 基于名称的虚拟主机 基于地址或基于IP的虚拟主机。 1. 基于名称的虚拟主机 基于名称的虚拟

  • 虚拟主机是路由配置中的顶层配置。每个虚拟主机都有一个逻辑名称以及一组域列表,会根据传入请求的主机头路由到对应的域。这允许为单个监听器配置多个顶级域的路径树。一旦基于域选择了虚拟主机,就会进行路由处理,以便查找并路由到相应上游集群或者是否执行重定向。 { "name": "...", "domains": [], "routes": [], "require_ssl": "...",

  • 虚拟主机名使用server_name指令定义,用于决定由某台虚拟主机来处理请求。具体请参考《nginx如何处理一个请求》。虚拟主机名可以使用确切的名字,通配符,或者是正则表达式来定义: server { listen 80; server_name example.org www.example.org; ... } server { liste