• 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/** 可以正常的请求
  • 相关阅读:
    zookeeper使用和原理探究(一)
    Zookeeper基本原理
    论照顾小孩与项目管理
    perl启动后台进程
    Oracle数据库迁移
    C# 语言Pagerank两种实现
    没文化真可怕--Silverlight 列冻结
    oracle中使用SQL递归语句的例子
    Visual Studio 2010 智能跟踪文件目录
    oracle wm_concat函数的应用(多行合成一行)
  • 原文地址:https://www.cnblogs.com/ampl/p/10275503.html
Copyright © 2020-2023  润新知