如果尝试使用 CSP On 和 CSPFileTypes,Apache 重新加载会失败

如果尝试使用 CSP On 和 CSPFileTypes,Apache 重新加载会失败

我有一个双 Linux 系统,我正在尝试启用CSPFileTypes *REST API 使用所需的功能。在此之前,Apache 一直运行良好。

Alias /testrest/ /app/vubis/TESTSERVICE/
<Directory "/app/vubis/TESTSERVICE/">
    CSP On
    CSPFileTypes *
    AllowOverride None
    Options MultiViews FollowSymLinks ExecCGI
    Require all granted
    <FilesMatch "\.(log|ini|pid|exe)$">
    Require all denied
    </FilesMatch>
</Directory>

但是当我尝试重新加载 Apache 时,我得到:

Reloading httpd: not reloading due to configuration syntax error
                                                           [FAILED]

如果我注释掉CSP OnCSPFileTypes *行,我只能让重新加载工作。

是否有某些配置设置阻止使用CSPand CSPFileTypes

答案1

CSP指令CSPFileTypes是非标准指令,由第三方模块提供。看来您需要两个 DSO 模块CSPa24.so,并且CSPa24Sys.so位于 Apache 加载的文件系统中的某个位置。

看一下示例配置的前两行LoadModule csp_module_sa ...CSPModulePath ...

推荐选项:不带 NSD 的 Apache API 模块 (CSPa24.so)(系统间文档):

模块CSPa24.so(运行时)和CSPa24Sys.so(Web 网关系统管理)是动态链接模块 (DSO)。

配置 Web 服务器以识别 CSP 请求(文件类型.csp,.cls, 和。禅)并将它们传递给 Web Gateway 模块进行处理。

Apache 2.4.x:使用模块CSPa24.soCSPa24Sys.so

  1. Apache 2.4.x:将以下部分添加到末尾httpd.conf

    LoadModule csp_module_sa /opt/webgateway/bin/CSPa24.so
    CSPModulePath /opt/webgateway/bin/      
    <Location "/csp/bin/Systems/">
    SetHandler cspsys-handler-sa
    </Location>
    <Location "/csp/bin/RunTime/">
    SetHandler csp-handler-sa
    </Location>
    CSPFileTypes csp cls zen cxw 
    Alias /csp/ /opt/webgateway/csp/
    <Directory "/opt/webgateway/csp">
             AllowOverride None
             Options MultiViews FollowSymLinks ExecCGI
             Require all granted
             <FilesMatch "\.(log|ini|pid|exe)$">
             Require all denied 
             </FilesMatch>
    </Directory>
    
  2. 更改 httpd.conf 后重新启动 Apache。

相关内容