Chr*_*ris 5 apache perl docker
Docker 新手,正在尝试让 cgi-bin 在 httpd 映像中工作。我的 Dockerfile 如下。SED 行将 perl 位置添加到图像附带的示例脚本的第一行:
FROM httpd:2.4.46
RUN sed -i '1c#!/usr/bin/perl' /usr/local/apache2/cgi-bin/printenv
Run Code Online (Sandbox Code Playgroud)
然后我构建并运行:
docker build -t my-apache2 .
docker run -dit --name my-running-app -p 8080:80 my-apache2
Run Code Online (Sandbox Code Playgroud)
然后,我导航到localhost:8080/cgi-bin/printenv但不是执行脚本,而是将代码显示为文本。看来 httpd 映像默认启用了 ScriptAlias。有什么想法吗?
您还需要启用mod_cgid
FROM httpd:2.4.46
RUN sed -i '1c#!/usr/bin/perl' /usr/local/apache2/cgi-bin/printenv
RUN chmod +x /usr/local/apache2/cgi-bin/printenv
CMD httpd-foreground -c "LoadModule cgid_module modules/mod_cgid.so"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2627 次 |
| 最近记录: |