首页 > 其他分享 >web server apache tomcat11-14-CGI

web server apache tomcat11-14-CGI

时间:2024-04-22 09:25:13浏览次数:17  
标签:CGI web 14 tomcat11 server apache servlet

前言

整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。

开源项目

从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。

系列文章

web server apache tomcat11-01-官方文档入门介绍

web server apache tomcat11-02-setup 启动

web server apache tomcat11-03-deploy 如何部署

web server apache tomcat11-04-manager 如何管理?

web server apache tomcat11-06-Host Manager App -- Text Interface

web server apache tomcat11-07-Realm Configuration

web server apache tomcat11-08-JNDI Resources

web server apache tomcat11-09-JNDI Datasource

web server apache tomcat11-10-Class Loader

...

Introduction

CGI (Common Gateway Interface) 定义了 Web 服务器与外部内容生成程序(通常称为 CGI 程序或 CGI 脚本)交互的方式。

在 Tomcat 中,当您将 Tomcat 用作 HTTP 服务器并且需要 CGI 支持时,可以添加 CGI 支持。通常在开发期间进行这样的操作,当您不想运行诸如 Apache httpd 等网络服务器时。Tomcat 的 CGI 支持与 Apache httpd 的兼容性很高,但有一些限制(例如,只有一个 cgi-bin 目录)。

CGI 支持是使用 servlet 类 org.apache.catalina.servlets.CGIServlet 实现的。传统上,将此 servlet 映射到 URL 模式 "/cgi-bin/*"。

默认情况下,Tomcat 中禁用了 CGI 支持。

安装

注意 - CGI 脚本用于执行 Tomcat JVM 外部的程序。

要启用 CGI 支持:

在默认的 $CATALINA_BASE/conf/web.xml 文件中有注释的示例 servlet 和 servlet-mapping 元素,用于 CGI servlet。要在 Web 应用程序中启用 CGI 支持,请将该 servlet 和 servlet-mapping 声明复制到 Web 应用程序的 WEB-INF/web.xml 文件中。

取消注释 $CATALINA_BASE/conf/web.xml 文件中的 servlet 和 servlet-mapping 可以一次为所有已安装的 Web 应用程序启用 CGI。

在您的 Web 应用程序的 Context 元素上设置 privileged="true"。

只有标记为特权的 Context 才允许使用 CGI servlet。请注意,修改全局的 $CATALINA_BASE/conf/context.xml 文件会影响所有 Web 应用程序。有关详细信息,请参阅 Context 文档。

配置

有几个 servlet init 参数可用于配置 CGI servlet 的行为。

  • cgiMethods - 逗号分隔的 HTTP 方法列表。使用这些方法之一的请求将被传递给 CGI 脚本以生成响应。默认值为 GET,POST。使用 * 可以使脚本处理所有请求,而不管方法如何。除非被该参数的配置覆盖,否则使用 HEAD、OPTIONS 或 TRACE 的请求将由超类处理。
  • cgiPathPrefix - CGI 搜索路径将从 web 应用程序根目录 + File.separator + 此前缀开始。默认情况下没有值,这将导致将 web 应用程序根目录用作搜索路径。建议的值是 WEB-INF/cgi。
  • cmdLineArgumentsDecoded - 如果启用了命令行参数(通过 enableCmdLineArguments)并且 Tomcat 在 Windows 上运行,则每个解码的命令行参数必须匹配此模式,否则请求将被拒绝。这是为了防止已知问题从 Java 传递命令行参数到 Windows。这些问题可能导致远程代码执行。有关这些问题的更多信息,请参阅 Markus Wulftange 的博客和 Daniel Colascione 的存档博客。
  • cmdLineArgumentsEncoded - 如果启用了命令行参数(通过 enableCmdLineArguments),则每个已编码的命令行参数必须匹配此模式,否则请求将被拒绝。默认匹配 RFC3875 定义的允许值,格式为 [\w\Q%;/?

    标签:CGI,web,14,tomcat11,server,apache,servlet
    From: https://www.cnblogs.com/houbbBlogs/p/18149973

相关文章

  • OOP课程第一次vlog-23201914-钱文浩
    一、前言1.知识点:第一次题目初步考察了正则表达式,其中包括正则表达式的判断(matches函数)和分割(split函数)。初步考察了类与对象的设计,比如实体类(试卷类,题目类等)、控制类(改卷类等),考查学生对实际问题的需求提取与分析。第二次题目进一步加强对上述各方面内容的考察。而且因为题目加......
  • (复习)树上启发式合并(dsu on tree)入门U41492树上数颜色
    主要思想是树的重轻儿子之分使得时间复杂度为o(nlogn),神奇欲深入了解的这里:https://oi-wiki.org/graph/dsu-on-tree/点击查看代码#include<bits/stdc++.h>usingnamespacestd;typedefstructedge//边结构体{intto,next;}EDGE;//边相关数组EDGEe[100001<<1];......
  • web server apache tomcat11-12-SSL/TLS Configuration
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......
  • Java安全基础之Java Web核心技术
    目录JavaEEJavaMVCServletJSPFilterJDBCRMIJNDIJavaEEJava平台有3个主要版本:JavaSE(JavaPlatformStandardEdition,Java平台标准版)JavaEE(JavaPlatformEnterpriseEdition,Java平台企业版)JavaME(JavaPlatformMicroEdition,Java平台微型版)其中JavaEE......
  • 2024年4月21日15:14:45 一些update
    可能后面有空的话会写一些长的吧hhh自从之前2022年底济南打完以后就退役了(还是得看看脚下的六便士...再不搞科研就要没学上了),后面都是一些小打小闹比如校赛Xtreme什么的会去玩玩,今年就纯去当志愿者了hhh 现在不出意外的话应该要去neu读phd了本来以为做了科研以后就没有机会再......
  • 8、SIP&WebRTC一体化
    SIP(SessionInitiationProtocol,会话初始协议)和WebRTC(WebReal-TimeCommunications)在通信领域各自扮演着重要的角色,而将它们一体化则能够扩大业务领域,增加通信技术的覆盖范围,为用户提供更好的体验。SIP是由IETF(InternetEngineeringTaskForce,因特网工程任务组)制定的多媒体通信......
  • LeetCode 1424. Diagonal Traverse II
    原题链接在这里:https://leetcode.com/problems/diagonal-traverse-ii/description/题目:Givena2Dintegerarray nums,return allelementsof nums indiagonalorderasshowninthebelowimages.Example1:Input:nums=[[1,2,3],[4,5,6],[7,8,9]]Output:[1,4,......
  • Web后端开发-请求响应
    Web后端开发-请求响应请求(HttpServletRequest):获取请求数据响应(HttpServletResponse):设置响应数据BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。(京东淘宝等网站)CS架构:Client/Server,客户端/服务端架构模式。(QQ,微信等客户......
  • 使用Docker部署一个简单的web项目
    使用Docker部署一个简单的web项目开发流程在本地开发一个有静态文件服务的web服务程序web服务监听ip+port为0.0.0.0:3000在服务器上使用Dockerfile构建镜像使用构建出的镜像运行容器配置Nginx将端口代理到web服务的3000端口在本地开发一个有静态文件服......
  • [HEOI2014]大工程 题解
    发现可以直接建立虚树。设\(dp_{u,0/1/2}\)表示第\(u\)个节点的子树内,所有选中节点到它的距离之和/选中节点中到它的最短距离/选中节点中到它的最长距离,\(as_{u,0/1/2}\)则代表对于这个子树,题目所问问题的三个答案,\(i1,i2\)分别为使\(dp_{u,1/2}\)取极值的\(v\)。则\(......