Rulez un server Apache 2.4.48 cu mod_cgid
și mod_fcgid
. Am un număr de scripturi CGI sub /cgi-bin/
și am refactorizat unele dintre ele pentru a utiliza FastCGI.În timpul acestei refactorizări trebuie să găsesc o modalitate de a sprijini rularea ambelor tipuri de scripturi din același director, păstrând în același timp numele existente, astfel încât metodele obișnuite de a crea o nouă cale (de ex. /fcgi-bin/
) sau redenumirea lor (de ex. la .fcgi
) nu sunt potrivite nevoilor mele.
Configurația mea actuală pentru CGI de stil vechi este cam așa:
ScriptAlias /cgi-bin/ „/var/www/cgi-bin/”
<Director /var/www/cgi-bin>
AllowOverride All
Opțiuni Niciuna
Solicitați toate acordate
</Director>
Și am setat manual handlerul FastCGI pentru scripturile actualizate în a .htaccess
fișier cu o directivă ca aceasta:
<Files "updated_fcgi_script.pl">
SetHandler fcgid-script
</Files>
Dar acest lucru este destul de repetitiv și greoi. Speram să-mi fac lucrurile mai ușoare prin crearea unei noi căi pe sistemul de fișiere unde ar putea trăi scripturile FastCGI actualizate (cum ar fi /var/www/fcgi-bin/
), alias it to /cgi-bin/
, apoi setați handlerul în a <Directory>
directivă, Apache servind scriptul din orice director în care îl găsește. Din păcate, acest lucru nu pare să funcționeze; Apache acceptă configurația ca fiind validă, dar returnează un „Acces refuzat” pentru solicitări către ambii scripturile CGI vechi și noi, fără informații utile în jurnale.
Există o modalitate de a realiza ceea ce îmi doresc sau nu este susținută? Nu sunt un vrăjitor Apache, așa că este posibil să fi căutat pe Google lucruri greșite. Mulțumiri!