Nginx + Tomcat 有关SSI 的那些事儿
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
相关文章
- Nginx配置SSL证书时——nginx:[emerg]unknown directive ssl错误
- tomcat+nginx反向代理(实现一个服务器,一个ip共用80端口)
- JAVA_MyEclipse如何加载Tomcat
- Eclipse TOMCAT 插件:Sysdeo Tomcat Launcher Plugin
- Tomcat页面乱码解决办法,超详细!
- 提升tomcat服务器性能的七条经验
- Tomcat 第四篇:请求处理流程(上)
- nginx,apache,tomcat配置https的阿里提供的文档
- Tomcat详解(二)——tomcat安装与配置
- Prometheus nginx-vts-exporter 监控 Nginx
- eclipse 配置maven 项目tomcat 运行
- 多个Tomcat之间实现Session共享
- tomcat结合nginx使用 基础教程
- 007-tomcat 下多个War发布详解步骤[同一个Tomcat 同一个端口 部署多个项目、同一个Tomcat 多个端口 部署多个项目]
- 解决Linux下启动Tomcat遇到Neither the JAVA_HOME ...报错
- idea 中 tomcat 部署 servlet启动