Apache2
阻止 Apache2 在靜態目錄中執行 CGI
我正在執行在 Ubuntu 20.04 LTS 上執行的 Apache 2 Web 伺服器。我為
/var/www/html
目錄啟用了 Python CGI 處理程序,即DocumentRoot
. 我想知道如何從執行 CGI for Python 文件中排除某個目錄。在我的 CGI 配置中:
<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>
在
/static/cdn
目錄中,我希望.py
文件像任何其他靜態文件一樣被提供,而不是作為 CGI 執行。這是cdn
目錄樹:. ├── checkForUpdates.exe ├── checkForUpdates.py └── findLogErrors ├── botCriteria.json ├── cleanup.json ├── findLogErrors.exe └── version.json 1 directory, 6 files
我可以根據需要在 Web 瀏覽器中查看目錄的索引。我可以從這個目錄查看或下載任何文件,除了
checkForUpdates.py
. 伺服器沒有嘗試將其作為 CGI 執行,它給出了 403。權限checkForUpdates.py
與其他文件相同:nbroyles@webserver:/var/www/html/static/cdn$ ls -altr total 15548 -rwxrwxr-x 1 www-data web 15901526 Nov 17 11:37 checkForUpdates.exe drwxrwxr-x 7 www-data web 4096 Nov 19 11:13 .. drwxrwxr-x 2 www-data web 4096 Dec 23 09:41 findLogErrors drwxrwxr-x 3 www-data web 4096 Dec 23 09:49 . -rwxrwxr-x 1 www-data web 2072 Dec 23 09:49 checkForUpdates.py
我怎樣才能像查看任何
.py
文件一樣查看文件?我確定我的配置中缺少一些簡單的東西。任何幫助是極大的讚賞!.json``.exe
您需要
SetHandler default-handler
添加<Directory "/var/www/html/static/cdn">