zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Nginx + Tomcat 有关SSI 的那些事儿

TomcatNginx 那些 有关 事儿
2023-09-14 08:59:51 时间

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


Nginx 和 tomcat 实现负载均衡(二) ​ 在上一篇文章中已经介绍了Nginx服务器的安装配置,感兴趣的小伙伴可以点击连接阅读​ ​配置Nginx虚拟主机​​,本文主要介绍Tomcat及Nginx + Tomcat负载均衡群集。
Nginx 和 tomcat 实现负载均衡(一) ​ 在上一篇文章中已经介绍了Nginx服务器的安装配置,感兴趣的小伙伴可以点击连接阅读​ ​配置Nginx虚拟主机​​,本文主要介绍Tomcat及Nginx + Tomcat负载均衡群集。
Docker进阶 部署nginx、部署Tomcat、部署ES+Kibana Docker 部署 Nginx 搜索Nginx镜像: 搜索镜像建议前往官网docker hub去搜,这样可以看到帮助文档信息 Docker Hubhttps://hub.docker.com/
netkiller Nickname:netkiller | English name: Neo chen | QQ: 291379 | 订阅号:netkiller-ebook | 网站:http://www.netkiller.cn