我有一个双 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 On
和CSPFileTypes *
行,我只能让重新加载工作。
是否有某些配置设置阻止使用CSP
and 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.so和CSPa24Sys.so。
和
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>
更改 httpd.conf 后重新启动 Apache。