Nginx + Tomcat 有关SSI 的那些事儿-linux安全运维_跨零代码

跨零代码为大家提供高品质的运维解决方案,请大家多多来访,跨零不胜感激,在此谢过。

在工作中使用到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;     } 




//下面这个css和插件后台设置的主题有关系,如果需要换样式,则需要修改以下CSS名称

从零到一,创造未来!跨零代码综合IT问题解决服务站,欢迎你的到来。运维教程 只为你绽放。

本文固定链接: http://kua0.com/2019/02/03/nginx-tomcat-有关ssi-的那些事儿-linux安全运维_跨零代码/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注