【问题标题】:Docker httpd apache and getting cgi-bin to execute perl scriptDocker httpd apache 并让 cgi-bin 执行 perl 脚本
【发布时间】:2021-02-20 21:56:31
【问题描述】:

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

然后我构建并运行:

docker build -t my-apache2 .
docker run -dit --name my-running-app -p 8080:80 my-apache2

然后我导航到localhost:8080/cgi-bin/printenv,但不是执行脚本,而是将代码显示为文本。似乎 httpd 图像默认启用了 ScriptAlias。请问有什么想法吗?

【问题讨论】:

    标签: apache docker perl


    【解决方案1】:

    您还需要启用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"
    

    【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 2020-04-03
    相关资源
    最近更新 更多