-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Htaccess and company #149
Comments
Salut, Il semble que ton serveur nginx filtre le header authorization. jette un oeil dans ta config nginx, ce topic pourrait être une piste : https://stackoverflow.com/questions/53224793/authorization-header-does-not-reach-api-only-on-get-request-nginx Le fichier index.php est la simplement pour éviter l'accès au fichier contenu dans le dossier /api/ |
Merci !
Nous regardons.
Bonne journée
|
Le serveur est un serveur Apache et non NGINX.
Qu'est ce qu'on peut faire pour comprendre d'où vient le problème ?
|
Pourtant la réponse d'erreur parle bien d'un nginx. N'y aurait il pas un reverse proxy devant ton serveur ? |
Le pare-feu applicatif est sous nginx, pas l'environnement web.
L'erreur est renvoyée par nginx mais il n'a aucun lien avec le problème.
Quelle est la méthode en cas de proxy, ce qu'est un pare-feu applicatif ?
Appliquer le add_header dans la configuration du pare-feu n'est ni
possible, ni souhaitable, ce n'est pas son rôle.
|
Pour comprendre à quel endroit ça coince, je te conseil d'essayer de t'authentifier à l'api directement depuis le serveur à l'aide de la commande curl. Tu peux aussi rechercher au niveau de la configuration d'apache, en particulier dans le security.conf. Si ce n'est pas une installation Debian standard, il est possible que des règles de sécurité spécifiques ai été incluse dans apache (je crois avoir déjà vu cela sur des vps chez ovh). |
Comment faire cela ? (je veux dire se connecter à l'API
Curl, ok, mais les credentials ?
Si tu as la commande testée qui fonctionne pour gagner du temps, je prends
;)
… |
Bonjour,
Commande curl en SSH
curl -vvvv ***@***.***/api/authentification*
About to connect() to conges.conseilcse.fr port 80 (#0)
* Trying 95.128.74.204...
* Connected to conges.conseilcse.fr (95.128.74.204) port 80 (#0)
* Server auth using Basic with user 'admin'
GET /api/authentification HTTP/1.1
Authorization: Basic YWRtaW46YXplcnR5MTIzNDU2
User-Agent: curl/7.29.0
Host: conges.conseilcse.fr
Accept: */*
< HTTP/1.1 400 Bad Request
< Date: Tue, 18 May 2021 08:20:01 GMT
< Server: Apache
< Upgrade: h2,h2c
< Connection: Upgrade, close
< Content-Length: 131
< Vary: Accept-Encoding
< Content-Type: application/json;charset=utf-8
* Closing connection 0
{"code":400,"status":"fail","message":"Bad Request","data":"Request
Content-Type and Accept must be set on application\/json only"}
Il n'existe aucune règle dans Apache pouvant expliquer cette erreur, qui
affecte que ce seul outil à ce jour
Merci de ton aide
Le lun. 17 mai 2021 à 16:29, Anthony Merzouki ***@***.***>
a écrit :
… Comment faire cela ? (je veux dire se connecter à l'API
Curl, ok, mais les credentials ?
Si tu as la commande testée qui fonctionne pour gagner du temps, je prends
;)
>
|
Ta requête curl n'est pas bonne, je te prépare la requête qui va bien dès que possible. |
Voila la bonne requete. Sur ton serveur, tu devrais avoir le message "No user matches these criteria". Avant d'executer la requete, vérifie que le CNAME de ton dns est bien déclaré dans /etc/hosts.
|
$ curl -vvv
'http://conges.conseilcse.fr/api/authentification'
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Basic cGllcnJlOnBpZXJyZQo="
* About to connect() to conges.conseilcse.fr port 80 (#0)
* Trying 95.128.74.204...
* Connected to conges.conseilcse.fr (95.128.74.204) port 80 (#0)
GET /api/authentification HTTP/1.1
User-Agent: curl/7.29.0
Host: conges.conseilcse.fr
Content-Type: application/json
Accept: application/json
Authorization: Basic cGllcnJlOnBpZXJyZQo=
< HTTP/1.1 400 Bad Request
< Date: Thu, 20 May 2021 12:24:08 GMT
< Server: Apache
< Upgrade: h2,h2c
< Connection: Upgrade, close
< Content-Length: 122
< Vary: Accept-Encoding
< Content-Type: application/json;charset=utf-8
* Closing connection 0
{"code":400,"status":"fail","message":"Bad Request","data":"Authorization
header doesn't comply to authentication method"}
… |
De toute évidence, il y a quelques choses dans la configuration d'apache qui filtre le header authorization |
Cette issue a été marquée « stale » car elle n'a pas eu d'activité récente. Elle sera fermée si aucune activité ultérieure ne survient. Merci de vos contributions. |
Salut on a galérer pas mal à l'installation de la dernière version 1.13
Après plusieurs essais (on a finit par avoir eu raison des url api qui ne retournaient pas de JSON
Voilà où on en est :
https://conges.conseilcse.fr/
Login : admin
Pass : azerty123456
ERREUR :
"""
Erreur client : Request -> GET /api/authentification HTTP/1.1
User-Agent: GuzzleHttp/6.3.3 curl/7.29.0 PHP/7.3.17
Host: conges.conseilcse.fr
Authorization: Basic YWRtaW46YXplcnR5MTIzNDU2
Content-Type: application/json
Accept: application/json
| Response <- HTTP/1.1 400 Bad Request
Server: nginx
Date: Wed, 28 Apr 2021 14:46:01 GMT
Content-Type: application/json;charset=utf-8
Content-Length: 122
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: cw_id=X4BKymCJdSkcJVrVA3GqAg==; path=/
{"code":400,"status":"fail","message":"Bad Request","data":"Authorization header doesn't comply to authentication method"}
"""
HTACCESS :
RewriteEngine On
RewriteRule ^(/dump/|/backup/|/vendor/libertempo/api/configuration.json$) - [F]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /
RewriteRule ^api(.*)$ /vendor/libertempo/api/Public/index.php [QSA,L]
TEST DES URLS DE DEMO 👍
https://conges.conseilcse.fr/api/
http://conges.conseilcse.fr/api/authentification
https://conges.conseilcse.fr/vendor/libertempo/api/Public/
Il y avait un répertoire api/ avec un index.php vide (0 octets) qu'on a supprimé car il rentrait en conflit avec la règle du htaccess.
As-tu une idée ?
The text was updated successfully, but these errors were encountered: