Apache : AH01071: Got error Primary script unknown
Lors de la création d’un vhost sur Apache, une fois le code du site importé j’ai eu l’erreur suivante dans les logs :
AH01071: Got error 'Primary script unknown\n'
Plusieurs pages du site affichaient également un File not found.
J’ai pas mal galéré avant de trouver l’origine du problème, et surtout comment le résoudre.
Le code PHP du client était exécuté via FPM, avec la directive suivante :
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/palc.fr/$1
Mais à la racine de son site, un fichier .htaccess était rempli de règles de ce style :
RewriteRule ^/gallery/index.php /phototheque.php [NC,L]
RewriteRule ^/gallery/client.php /phototheque-client.php [NC,L]
Le problème c’est que le ProxyPassMatch est exécuté avant les RewriteRule du .htaccess. Du coup, quand on demande une page PHP correspondant à une RewriteRule, Apache va d’abord essayer de l’exécuter avec FPM et retourner une erreur, puisque le fichier PHP n’existe pas.
La solution est de demander à Apache de n’utiliser FPM que si le fichier existe. Il faut remplacer
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/palc.fr/$1
Par :
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000/"
</FilesMatch>
OpenCVE est un outil qui répond à un besoin que nous rencontrons tous (ou presque) dans la gestion de la sécurité et du patch-management : la gestion des failles de sécurité et la veille en vulnérabilités.
Nous utilisons tous divers systèmes, logiciels, matériels... Tous ces éléments peuvent être touchés par des failles de sécurité, OpenCVE.io permet d'être alerté en cas de vulnérabilité sur une des briques de l'infrastructure. Car il est aujourd'hui impossible sans un outil ou des filtres d'analyser toutes les vulnérabilités qui sortent chaque jour.
Pour faire énormément de veille dans le cadre pro/perso, c'est un outil très important sur cet aspect. Il faut néanmoins avoir connaissance des différentes solutions qui sont utilisées sur son infrastructure et ce n'est pas toujours facile.
About
I know there are a thousand ways to uninstall modern Windows 10 apps. Here is the One Thousand and One with Bloatbox! This was intended as a small extension for my app Privatezilla to uninstall specific apps. Since I didn't want to bloat Privatezilla unnecessarily (those who know me know that I am a friend of small apps and lean code), I have now made this available as a standalone app.
This code is based on parts of this nice project from ConditionalException. Some inspiration has also flowed from this ugly guy AppManager by Microsoft but on Windows Forms 😏
Download
(Latest release) Download
1- Lancez une invite de commandes
Faites un clic droit sur le bouton du menu Démarrer et, dans la liste, cliquez sur Invite de commandes (admin) ou Windows PowerShell (admin). Vous pouvez également utiliser la combinaison de touches <Windows> + <R>
et taper cmd
dans la boite de dialogue, puis valider par Entrée.
2 - Lancez l’outil de vérification
Dans la fenêtre qui vient de s’ouvrir, tapez la commande sfc /scannow et validez par la touche Entrée.
La vérification va commencer et les éventuelles erreurs seront corrigées automatiquement en cas de problème.
Tapez exit pour fermer la fenêtre. Nous vous conseillons de redémarrer l’ordinateur.
SFC (System File Checker) est un outil simple à utiliser et directement inclus dans Windows, donc vous n'avez pas à le télécharger. En revanche, il est limité puisqu'il ne contrôle que les fichiers du système, en particulier les DLL. Si votre problème est causé par un mauvais pilote de périphérique ou une erreur dans la base de registres, il ne pourra hélas rien pour vous.