欢迎来到云服务器

服务器租用

Nginx + Tomcat 情况中关于SSI 的问题

在事情中利用到SSI,对付静态页面由Nginx处理惩罚SSI是没有问题。对付jsp 文件内里的SSI怎么办呢?我们不想开启Tomcat的 SSI成果,我们但愿SSI 的理会交给Nginx来完成,,Tomcat 只处理惩罚应用。

下面的文章用实例说明这是可行的。

文章节选择 《Netkiller Web 手札》 Tomcat 篇

3.2.6.5. Proxy 与 SSI

配景:nginx + tomcat 模式,nginx 开启 SSI , Tomcat 动态页面中输出 SSI 标签

         # cat  /etc/nginx/conf.d/www.netkiller.cn.conf
server {
    listen       80;
    server_name  www.netkiller.cn;
    charset utf-8;
    access_log  /var/log/nginx/www.netkiller.cn.access.log;
    location / {
        #index  index.html index.htm;
                proxy_pass http://127.0.0.1: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;
    }
    #error_page  404              /404.html;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

test.jsp 文件

            <%@ page language="java" import="java.util.*,java.text.SimpleDateFormat" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
        <head>
        <title>show time</title>
</head>
<body>
<%
        Date date=new Date();
    SimpleDateFormat ss=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String lgtime=ss.format(date);
%>
        <center>
        <h1><%=lgtime%></h1>
        </center>
        <!--# set var="test" value="Hello netkiller!" -->
        <!--# echo var="test" -->
</body>
</html>

测试并查察源码,你会看到SSI标签

        <!--# set var="test" value="Hello netkiller!" -->
        <!--# echo var="test" -->

办理方案

    location / {
        ssi on;
        proxy_set_header Accept-Encoding "";
        proxy_pass http://127.0.0.1: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;
    }

再次测试,你将看不到SSI标签,只能看到文本输出Hello netkiller!

Netkiller(netkiller-ebook)

腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号