Điểm:0

Ngăn Apache2 thực thi CGI trong Thư mục tĩnh

lá cờ cn

Tôi đang chạy máy chủ web Apache 2 chạy trên Ubuntu 20.04 LTS. Tôi đã bật trình xử lý Python CGI cho /var/www/html thư mục, đó là Tài liệuRoot. Tôi tự hỏi làm thế nào để loại trừ một thư mục nhất định chạy CGI cho các tệp Python.
Ở đây trong cấu hình CGI của tôi:

<Directory "/var/www/html">
    Options +ExecCGI
    AddHandler cgi-script .py
        <IfModule mod_rewrite.c>
                RewriteEngine On
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteCond %{REQUEST_FILENAME}\.py -f
                RewriteRule ^(.*)$ $1.py
        </IfModule>
</Directory>

<Directory "/var/www/html/static/cdn">
        DirectoryIndex disabled
        Options +Indexes -ExecCGI
        AllowOverride None
        Require all granted
</Directory>

bên trong /tĩnh/cdn thư mục, tôi muốn .py các tệp sẽ được phục vụ giống như bất kỳ tệp tĩnh nào khác, thay vì được thực thi dưới dạng CGI. Đây là cây của cdn danh mục:

.
âââ checkForUpdates.exe
âââ checkForUpdates.py
âââ findLogErrors
    âââ botCriteria.json
    âââ cleanup.json
    âââ findLogErrors.exe
    âââ version.json

1 thư mục, 6 tập tin

tôi có thể xem các chỉ mục của thư mục trong trình duyệt web, như mong muốn. Tôi có thể xem hoặc tải xuống bất kỳ tệp nào từ thư mục này ngoại trừ checkForUpdates.py. Máy chủ không cố thực thi nó dưới dạng CGI, nó đang đưa ra lỗi 403. Các quyền trên checkForUpdates.py giống như các tệp khác:

nbroyles@webserver:/var/www/html/static/cdn$ ls -altr
tổng cộng 15548
-rwxrwxr-x 1 web dữ liệu www 15901526 ngày 17 tháng 11 11:37 checkForUpdates.exe
drwxrwxr-x 7 web dữ liệu www 4096 ngày 19 tháng 11 11:13 ..
drwxrwxr-x 2 web dữ liệu www 4096 ngày 23 tháng 12 09:41 findLogErrors
drwxrwxr-x 3 web dữ liệu www 4096 ngày 23 tháng 12 09:49 .
-rwxrwxr-x 1 web dữ liệu www 2072 ngày 23 tháng 12 09:49 checkForUpdates.py

Làm thế nào tôi có thể xem .py tập tin giống như bất kỳ .json hoặc .exe các tập tin? Tôi chắc chắn rằng có điều gì đó đơn giản mà tôi đang thiếu trong tệp config. Bất kỳ trợ giúp nào cũng được đánh giá rất cao!

Điểm:1
lá cờ jp

Bạn cần phải thêm Trình xử lý mặc định SetHandler Trong <Directory "/var/www/html/static/cdn">

Noah Broyles avatar
lá cờ cn
Điều đó hoạt động để hiển thị tệp Python, nhưng hiện tại các chỉ mục không hiển thị.
lá cờ jp
Sau đó chuyển nó thành `SetHandler default-handler .py`
Noah Broyles avatar
lá cờ cn
`apachectl configtest` hiển thị `SetHandler nhận một đối số, tên trình xử lý sẽ ghi đè bất kỳ trình xử lý được định cấu hình nào khác`, nhưng tôi đã đổi nó thành `AddHandler` và tất cả đều ổn. Cảm ơn bạn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.