`
landmine
  • 浏览: 95167 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jetty IP主机配置

阅读更多

  一个虚拟主机是一个为IP地址在DNS注册的可选择的名字。一个ip地址可以很多这样选择的名字。多址主机,是一个机器有多个网络接口,每个ip地址有一个不同的名字。这也叫做“虚拟主机“。本质上,“虚拟主机“涉及到DNS注册名字到IP地址的解析 - 多个IP地址可以解析到同一个IP地址,一个或多个IP地址可能在同一个物理机器上。Jetty用户经常想配置他们的应用程序而考虑这些不同的虚拟主机。通常是一个IP地址,有很多DNS解析的名字指向它,一个布置在上面的程序所有的名字都可以访问到它。另一种可能性就是不同的虚拟主机服务于不同的应用程序。让我们检查这种可能性。
配置虚拟主机
当我们配置一个应用程序的时候,我们可以提供一个可以访问的IP地址和名字的列表,假设我们有一个机器有如下的IP地址和DNS解析的名字:
333.444.555.666
127.0.0.1
www.blah.com
www.blah.net
www.blah.org
假设我们有一个web程序,xxx.war我们想让这个程序服务所有上面的名字和IP地址,那我们将会这样配置web应用程序:

  1. <New class="org.mortbay.jetty.webapp.WebAppContext">   
  2.       <Arg><Ref id="contexts"/></Arg>   
  3.       <Arg><SystemProperty name="jetty.home">/webapps/xxx.war</Arg>   
  4.       <Arg>/xxx</Arg>   
  5.       <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>   
  6.       <Set name="VirtualHosts">   
  7.         <Array type="java.lang.String">   
  8.           <Item>333.444.555.666</Item>   
  9.           <Item>127.0.0.1</Item>   
  10.           <Item>www.blah.com</Item>   
  11.           <Item>www.blah.net</Item>   
  12.           <Item>www.blah.org</Item>   
  13.         </Array>   
  14.       </Set>   
  15. </New>  


假设我们已经配置了一监听8080端口的连接器,下面的所有地址都可以访问这个应用程序:
http://333.444.555.666:8080/xxx
http://127.0.0.1:8080/xxx
http://www.blah.com:8080/xxx
http://www.blah.net:8080/xxx
http://www.blah.org:8080/xxx

为不同的虚拟主机配置不同的程序
这个通过为每个web程序提供不同的虚拟主机列表来完成。举个例子,假设我们有个机器有如下的DNS名字和IP地址:

333.444.555.666
127.0.0.1
www.blah.com
www.blah.net
www.blah.org
777.888.888.111
www.other.com
www.other.net
www.other.org
假设我们有另一个web程序,zzz.war。我们想xxx.war还想上面的配置,但是zzz.war配置成只能从777.888.888.111, www.other.com, www.other.net 和 www.other.org来访问:

  1. <!-- webapp xxx.war -->   
  2.     <New class="org.mortbay.jetty.webapp.WebAppContext">   
  3.       <Arg><Ref id="contexts"/></Arg>   
  4.       <Arg><SystemProperty name="jetty.home">/webapps/xxx.war</Arg>   
  5.       <Arg>/xxx</Arg>   
  6.       <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>   
  7.       <Set name="VirtualHosts">   
  8.         <Array type="java.lang.String">   
  9.           <Item>333.444.555.666</Item>   
  10.           <Item>127.0.0.1</Item>   
  11.           <Item>www.blah.com</Item>   
  12.           <Item>www.blah.net</Item>   
  13.           <Item>www.blah.org</Item>   
  14.         </Array>   
  15.       </Set>   
  16.     </New>   
  17.   
  18.     <!-- webapp zzz.war -->   
  19.     <New class="org.mortbay.jetty.webapp.WebAppContext">   
  20.       <Arg><Ref id="contexts"/></Arg>   
  21.       <Arg><SystemProperty name="jetty.home">/webapps/zzz.war</Arg>   
  22.       <Arg>/zzz</Arg>   
  23.       <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>   
  24.       <Set name="VirtualHosts">   
  25.         <Array type="java.lang.String">   
  26.           <Item>777.888.888.111</Item>   
  27.           <Item>www.other.com</Item>   
  28.           <Item>www.other.net</Item>   
  29.           <Item>www.other.org</Item>   
  30.         </Array>   
  31.       </Set>   
  32.     </New>  


程序仍然在下列地址可用:
http://333.444.555.666:8080/xxx
http://127.0.0.1:8080/xxx
http://www.blah.com:8080/xxx
http://www.blah.net:8080/xxx
http://www.blah.org:8080/xxx

但是现在程序zzz.war在下列地址可用:
http://777.888.888.111:8080/zzz
http://www.other.com:8080/zzz
http://www.other.net:8080/zzz
http://www.other.org:8080/zzz

为不同的虚拟主机配置不同的程序,但是有相同的上下文路径
在上面的例子中,我们不只让程序zzz.war在这些虚拟主机上可用,也同时确定了上下文路径zzz,同时我们其它的程序也是在不同的虚拟主机和不同的上下文上可用。如果我们想让这些虚拟主机使用相同的上下文改怎么办呢?非常简单, 我们仅仅需要为每个程序提供相同的上下文路径,保留以上其它定义就可以了:

  1. <New class="org.mortbay.jetty.webapp.WebAppContext">   
  2.       <Arg><Ref id="contexts"/></Arg>   
  3.       <Arg><SystemProperty name="jetty.home">/webapps/xxx.war</Arg>   
  4.       *<Arg>/</Arg>*   
  5.       <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>   
  6.       <Set name="VirtualHosts">   
  7.         <Array type="java.lang.String">   
  8.           <Item>333.444.555.666</Item>   
  9.           <Item>127.0.0.1</Item>   
  10.           <Item>www.blah.com</Item>   
  11.           <Item>www.blah.net</Item>   
  12.           <Item>www.blah.org</Item>   
  13.         </Array>   
  14.       </Set>   
  15.     </New>   
  16.   
  17.     <New class="org.mortbay.jetty.webapp.WebAppContext">   
  18.       <Arg><Ref id="contexts"/></Arg>   
  19.       <Arg><SystemProperty name="jetty.home">/webapps/zzz.war</Arg>   
  20.       *<Arg>/</Arg>*   
  21.       <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>   
  22.       <Set name="VirtualHosts">   
  23.         <Array type="java.lang.String">   
  24.           <Item>777.888.888.111</Item>   
  25.           <Item>www.other.com</Item>   
  26.           <Item>www.other.net</Item>   
  27.           <Item>www.other.org</Item>   
  28.         </Array>   
  29.       </Set>   
  30.     </New>  


现在, xxx.war程序可在如下地址访问:

http://333.444.555.666:8080/
http://127.0.0.1:8080/
http://www.blah.com:8080/
http://www.blah.net:8080/
http://www.blah.org:8080/

而zzz.war程序可在如下地址访问:

http://777.888.888.111:8080/
http://www.other.com:8080/
http://www.other.net:8080/
http://www.other.org:8080/

<!-- Attachments -->
0
0
分享到:
评论

相关推荐

    Jetty权威指南.pdf

    通过配置`VirtualHost`和`VirtualHost.ContextHandler`,可以实现基于域名或IP地址的不同Web站点。 #### 十、管理服务器 **10.1 服务器日志管理** Jetty提供了丰富的日志记录功能,可以通过配置文件指定日志级别...

    jetty使用文档

    12. **虚拟主机**:Jetty允许在单个服务器上配置多个虚拟主机,每个主机可以对应不同的域名或IP。 13. **服务器管理** - 日志管理:控制日志输出和格式。 - 请求日志:记录HTTP请求详情。 - 实时状态:查看...

    activemq集群配置文档.docx

    | 主机IP | 集群通信端口 | 消息端口 | 控制台端口 | 节点目录 | | --- | --- | --- | --- | --- | | 192.168.1.111 | 62621 | 61616 | 8161 | /usr/local/activemq-cluster/node1 | | 192.168.1.111 | 62622 | ...

    keepalived+nginx实现双机主备

    当主机正常工作时,备机将侦听主机的心跳包,如果主机宕机,备机将接管虚拟 IP 地址,继续提供服务。 三、Keepalived 配置 在本文中,我们使用 Keepalived 作为高可用性解决方案。Keepalived 的配置文件中包括全局...

    Niginx操作配置+KeepAlive负载均衡

    - **虚拟主机配置**:通过创建新的server块,设置不同的监听端口或基于主机名来处理不同站点的请求。 - **URL重写**:使用`rewrite`指令进行URL规则匹配和转换,实现动态请求到静态资源的映射。 - **缓存管理**:...

    VHost:在Linux平台上管理Apache服务器虚拟主机的工具

    在Linux上,Apache的虚拟主机配置文件通常位于`/etc/apache2/sites-available/`目录下,通过创建和编辑`.conf`文件来设置每个虚拟主机的详细信息,如绑定的域名、文档根目录、访问权限等。激活配置后,虚拟主机将在...

    solr集群安装部署

    在每台服务器的`etc/hosts`文件中,添加其他服务器的主机名和IP映射,以便相互识别。 #### 1.2.3 配置免登录SSH公钥 在所有服务器上配置SSH免密登录,以简化集群管理。生成公钥并将其添加到所有服务器的`~/.ssh/...

    sitesenabled:一个用于管理Nginx虚拟主机的小实用程序

    7. **安全考虑**:确保每个虚拟主机配置都有严格的访问控制,比如限制只允许特定IP地址访问,使用HTTPS加密通信,并定期更新Nginx以获取安全补丁。 8. **负载均衡**:Nginx可以配置为负载均衡器,将请求分发到多个...

    [主机域名]老枪二级域名系统朴素版_lqdomain.rar

    在二级域名系统中,需要配置DNS服务器,设置CNAME记录或者其他类型的记录,以实现二级域名到主域名的映射。同时,还需要理解HTTP协议,它是Web通信的基础,用于传输网页数据。 三、JAVA 虽然标题中提到了JAVA,但在...

    jsp探针。。探测jsp主机的信息。。资料。。

    4. **网络配置**:IP地址、端口、网络接口等。 5. **已部署的应用信息**:包括WAR文件名、应用上下文路径等。 6. **库版本**:服务器上已安装的JAR文件及其版本,比如Spring、Hibernate等框架。 **使用JSP探针的...

    skywalking.doc

    - `network.host`: 设置网络主机地址为服务器 IP 地址 `10.10.20.63`。 - `thread_pool.bulk.queue_size`: 设置批量队列大小为 1000。 - `http.port`: 设置 HTTP 端口为 9200。 - `discovery.zen.ping.unicast....

    Windows Server 2008服务器搭建与管理第9章安装WWW服务.ppt

    配置虚拟主机名、IP地址和绑定,确保每个网站的唯一性。 7. **配置和管理HTTPS网站**: - 申请SSL证书:为了实现HTTPS,你需要从权威的证书颁发机构购买或申请SSL证书,用于加密网站数据并验证服务器身份。 - ...

    上传jsp网页到服务器(空间)的方法整理.pdf

    5. **配置服务器环境**:在服务器上,可能需要配置Servlet容器,比如设置虚拟主机、部署描述符(web.xml)等。根据服务器提供商的不同,这可能需要通过控制面板或者手动编辑服务器配置文件来完成。 6. **测试部署**...

    TOMCAT最佳实践

    通过配置Host或Context元素,限制特定IP地址或网络段的访问。 **11. TOMCAT访问日志记录** 使用`%h %l %u %t "%r" %&gt;s %b`格式记录HTTP请求日志,可通过server.xml中的Valve元素定制。 **12. TOMCAT状态验证** ...

    idea自动部署linux服务器

    - 考虑在Linux服务器上配置防火墙规则,只允许特定IP或端口访问,以增强服务器安全性。 - 优化传输速度,例如,开启服务器的SSH压缩选项,或者考虑使用rsync同步文件,以减少网络延迟。 6. **监控与日志**: - ...

    Tomcat最佳实践T.omcat最佳实践

    9. **基于名称的虚拟主机**:允许多个域名共享同一IP地址和端口,通过Host元素在server.xml中配置。 10. **TOMCAT IP访问控制**:可以通过配置访问控制列表限制特定IP的访问。 11. **TOMCAT访问日志记录**:日志...

    nginx-1.12.2.zip

    5. **配置选项**:Nginx的配置文件(通常为`nginx.conf`)允许用户自定义服务器行为,包括设置监听端口、定义虚拟主机、配置缓存策略等。 6. **反向代理**:Nginx的强大功能之一是其反向代理能力,可以将来自客户端...

    openfire_windows

    默认情况下,Openfire使用内置的Jetty服务器和H2数据库,但也可以根据需求连接到MySQL、PostgreSQL或其他兼容的数据库系统。 安装完成后,通过Web管理界面进行管理。访问http://localhost:9090(或根据安装时配置的...

    武汉大学软件工程计网大作业

    DHCP(动态主机配置协议)自动分配、回收和管理网络设备的IP地址。学生需要理解DHCP的工作流程,包括发现、提供、请求和确认阶段,以及DHCP服务器如何分配IP地址、子网掩码、默认网关和DNS服务器等网络配置信息。 ...

Global site tag (gtag.js) - Google Analytics