我在Centos 7上的Docker容器的Commandbox中运行了一个Lucee应用程序。
Docker version 1.13.1, build 0be3e21/1.13.1
CentOS Linux release 7.9.2009 (Core)
Commandbox v5.2.1+00295
Lucee 5.3.7.47应用程序代码在启动时通过Dockerfile文件复制到/app目录:
COPY . /app我想查看/app目录/app/.build中的一个点文件(隐藏文件)。
如果我浏览到http://app_name.com/.build,我得到一个404错误(未找到)。
如果我通过以下命令将文件重命名为build.json:
cp .build build.json然后我就可以通过http://app_name.com/build.json查看了
我尝试在server.json文件中输入以下条目:
"rewrites":{
"enable":true,
"config":"customRewrites.xml"
},以及customRewrites.xml文件中的以下规则:
<rule>
<from>\.build$</from>
<set type="content-type">text-html</set>
<to last="true">\.build</to>
</rule>为了更加清晰,添加完整的Dockerfile:
FROM ortussolutions/commandbox
COPY . /app
COPY ./config/ /config/
ENV LUCEE_EXTENSIONS D4EDFDBD-A9A3-E9AF-597322D767E0C949;name=Oracle;version=11.2.0.4
WORKDIR $APP_DIR
RUN box install经过进一步的调查,我发现问题似乎是在启动时没有创建/usr/local/lib/serverHome/WEB-INF/urlrewrite.xml文件。启动期间的日志表明正在读取重写:--urlrewrite-enable true --urlrewrite-file /app/customRewrites.xml
发布于 2021-03-03 02:58:56
我发现Commandbox5.2中默认的urlRewrite.xml文件有以下代码来阻止隐藏文件:
<rule>
<condition type="request-uri" operator="equal">.*/\..*</condition>
<from>^/(.+)$</from>
<set type="status">404</set>
<to type="passthrough" last="true">/404.html</to>
</rule>https://stackoverflow.com/questions/66375063
复制相似问题