nginx https反向代理tomcat

Context体现在server.xml中的Host里的<Context>元素,它由Context接口定义。每个<Context>元素代表了运行在虚拟主机上的单个Web应用。

<Context>元素:

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
        <Context docBase="/var/www/java/pen/pen.war" path="/pen" debug="0"  reloadable="true"/>
      </Host>

 

1>path:即要建立的虚拟目录,,注意是/pen,它指定访问Web应用的URL入口,如http://localhost:8080/pen/****。

2>docBase:为实际目录在硬盘上的位置(应用程序的路径或者是WAR文件存放的路径)。
3>reloadable:如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改变,如果监视到有class文件被更新,服务器自动重新加载Web应用,这样我们可以在不重起tomcat的情况下改变应用程序。

一个Host元素中嵌套任意多的Context元素。每个Context的路径必须是惟一的,由path属性定义。另外,你必须定义一个path=“”的context,这个Context称为该虚拟主机的缺省web应用,用来处理那些不能匹配任何Context的Context路径的请求

二、修改好sever.xml后更改nginx

    upstream https_tomcat_web{
       server 127.0.0.1:8080 ;
     }
     server {
       listen       443 ssl;
       server_name  iot.iot.com;
       location /{
       proxy_pass http://localhost:8080;
       proxy_set_header Host    $host;
       proxy_set_header X-Real-IP  $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
       ssl_certificate       /usr/local/cert/1732985_iot.iot.com.pem;
       ssl_certificate_key   /usr/local/cert/1732985_iot.iot.com.key;

       # ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;

       ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       ssl_prefer_server_ciphers on;

       root /var/www/java/pen;

      # passenger_enabled on;
       #rails_env production;
    }

修改后重启nginx 在浏览器https://iot.iot.com/pen/** 可以正常的请求

原文地址:https://www.cnblogs.com/ampl/p/10275503.html

时间: 2024-08-30 02:29:37

nginx https反向代理tomcat的相关文章

NGINX如何反向代理Tomcat并且实现Session保持

简介 LNMT=Linux+Nginx+MySQL+Tomcat: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器: 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选: 架构需求 Tomcat实现JSP动态请求解析的基本架构 说明:由后端Tomcat负责解析动态jsp请求,但为了提高响应性能,在同一主机内配置Nginx做反向代理,转发所有请求至tomcat即可: 完整的LNMT架构设计 说明:本篇博客主要讲解单台Hapro

使用nginx反向代理tomcat集群

一.反向代理的概念 正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器).为了从原始服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转交并且将获得的内容返回给客户端.正向代理的情况下客户端必须要进行一些特别的设置才能使用. 反向代理正好相反.对于客户端来说,反向代理就好像目标服务器.并且客户端不需要进行任何设置.客户端向反向代理发送请求,接着反向代理判断请求走向何处,并将请求转交给客户端,使得这些内容就好似他自己一样,一次客户端并不会感知到反

nginx 反向代理 tomcat (https、虚拟主机)

背景: 有一个JSP开发的网站,需要放在tomcat里面运行,考虑到tomcat处理http请求不是那么强,计划前端添加一个nginx作为反向代理,并且提供https服务,并且通过虚拟主机开代理到指定域名的服务. 我们的域名是www.wzlinux.com. 1.首先是安装nginx和tomcat 2.nginx配置文件如下 包含301调整,以及https证书的设定,我的证书是在阿里云申请的,免费的哦 # # HTTPS server configuration # server {     l

nginx反向代理+tomcat域名绑定

今天在用nginx做反向代理时,由于一个tomcat下有多个应用,因此要在tomcat做域名绑定.tomcat启动后,通过域名+端口是可以访问到页面的,但是通过nginx转发后就不能访问了,因此tomcat配置是没有问题的. 然后看nginx配置文件,其中转发部分 server { listen 80; server_name 2018.cctvtzqc.com; location / { proxy_pass http://192.168.0.3:8080; } } 过于简单,还需要讲请求头一

nginx反向代理tomcat提示13 permission denied while connecting to upstream

nginx反向代理tomcat提示13 permission denied while connecting to upstream,网上很多都是说13 permission denied while reading to upstream,这是两个完全不同的错误,我遇到的如下截图: 查看selinux日志发现错误: 后来发现是selinux的问题,于是先关掉selinux:setenforce 0:然后再访问果然好使. 于是启用selinux,再执行下面的命令,修改selinux的值: set

nginx或httpd实现反向代理tomcat并实现会话保持(二)

实例一:手动添加一个应用程序: 创建一个webapp的目录 [[email protected] myweb]# mkdir webapp [[email protected] webapp]# mkdir logs [[email protected] myweb]# cd webapp/ [[email protected] webapp]# mkdir./{classes,lib,META-INF,WEB-INF,Root} 在Root目录下创建自定义的index.jsp文件 [[emai

Nginx反向代理Tomcat

系统环境:CentOS 生产环境:WDLINUX WEB引擎:nginx+apache 1.在tomcat中创建虚拟主机 修改tomcat\conf\server.xml,在<Engine>标签中加入<host>标签,如下所示: <Host name="www.abc.com" appBase="/www/webapps" unpackWARS="true" autoDeploy="true" x

tomcat配置及基于nginx、apache反向代理tomcat

如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求.我们需要一个交互式的Web,于是便诞生了各种Web语言.如Asp,Jsp,Php等.当然,这些语言与传统的语言有着密切的联系,如Php基于C和C 语言,Jsp基于Java语言.Tomcat即是一个Jsp和Servlet的运行平台. Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成.由于有了Sun的参与和支持,最新

nginx反向代理tomcat集群达到负载均衡,同时使用proxy_cache做web缓存

Nginx最早是作为一款优秀的反向代理软件,以高并发下的卓越性能被越来越多的用户所用户,国内最早研究nginx的是张宴,该大牛的博客地址:http://zyan.cc/ .但是随着需求的发展,nginx的功能已经不再单单是反向代理,现在已经更倾向作为web容器. Nginx从0.7.48版本开始,支持了类似Squid的缓存功能.Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi_cache相关指令集构成,前者用于反向代理时,对后端内容源服务器进行缓存,后者主要用于对