Apache ne sert pas le contenu d'un partage réseau monté sous Ubuntu.
Selon le contenu du fichier que j'essaie d'ouvrir, il n'est pas correctement servi :
Cela ne fonctionne pas :
is a link to another nifty site
<H2>This is a Medium Header</H2>
Chrome affiche le message d'erreur suivant : " ERR_INVALID_HTTP_RESPONSE "
Facteur : " Erreur : Erreur d'analyse : Attendu HTTP/ "
curl : " curl : (1) a reçu HTTP/0.9 alors qu'il n'était pas autorisé à le faire "
Cela fonctionne (juste une ligne vide de plus)
is a link to another nifty site
<H2>This is a Medium Header</H2>
Le partage réseau est monté dans /media/data (cifs ; à des fins de test, les permissions sont fixées à 777).
Il y a un lien symbolique de /var/www/server vers /media/data et je peux voir et modifier le contenu depuis l'intérieur de la VM.
Cela n'a pas beaucoup de sens pour moi qu'Apache soit pointilleux sur le contenu des fichiers. Je ne sais pas vraiment comment interpréter les messages d'erreur des trois clients différents, mais comme ils échouent tous, il semble qu'Apache soit en cause, même si le journal des erreurs n'indique aucun problème.
Après avoir copié le fichier dans /var/www/html (répertoire par défaut) et modifié le serveur virtuel à cet emplacement, les fichiers sont servis, quel que soit leur contenu.
Je ne sais pas si cela a de l'importance, mais en cherchant " ERR_INVALID_HTTP_RESPONSE "J'ai trouvé en ligne des personnes qui parlaient du comportement étrange de Chrome sur certains ports : Je fais actuellement tourner le serveur sur le port 28080 (pour des raisons de rétrocompatibilité avec la configuration actuelle et parce que je prévois de configurer nginx sur le port 80) ; nginx est déjà installé mais je ne pense pas qu'il interfère.
Veuillez m'excuser si tout ceci vous semble quelque peu confus, mais c'est probablement parce que je suis moi-même très confus.
Il s'agit d'une VM propre, les seuls paquets supplémentaires sont apache, nginx et cifs-utils pour autant que je sache.
Quelqu'un d'autre a-t-il rencontré un comportement étrange avec les partages réseau dans ce contexte ? Je veux les htdocs sur le partage réseau car c'est plus facile pour moi d'y accéder depuis ma machine Windows. Y a-t-il des moyens recommandés d'accéder aux htdocs autrement que par un partage réseau ?
Editar:
curl --verbose --output out.txt --http0.9 localhost:28080/test.html
donne la sortie de console suivante :
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 127.0.0.1:28080...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 28080 (#0)
> GET /test.html HTTP/1.1
> Host: localhost:28080
> User-Agent: curl/7.68.0
> Accept: */*
>
{ [15 bytes data]
100 294 0 294 0 0 58 0 --:--:-- 0:00:05 --:--:-- 0
* Closing connection 0
Alors que out.txt contient les éléments suivants :
18:55:12 GMT
ETag: *removed*
Accept-Ranges: bytes
Content-Length: 67
Content-Type: text/html
is a link to another nifty site
<H2>This is a Medium Header</H2>
^@^@^@^@^@^@)^@^@^@^@^@^@w^@^@rX]^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^X^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
Sur un autre fichier, la chaîne bizarre à la fin contient en fait le mot clé SMB. Je ne sais pas si c'est une coïncidence ou si cela signifie quelque chose :
19:34:11 GMT
ETag: *removed*
Accept-Ranges: bytes
Content-Length: 6
Content-Type: text/plain
sadssa^@^@^@^@]^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@)^@^A^Re ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@SMB@^@^@^@^@^@^@^@^F^@
^@^D^@^@^@^@^@^@^@)^@^@^@^@^@^@w^@^@rX]^@^@^@^@^@
J'ai également remarqué la partie r et X qui pourrait avoir quelque chose à voir avec les autorisations de fichiers ?
Edit 2 :
partage réseau (fstab) :
//www.example.com/Share /media/data cifs username=user,password=pass,domain=WORKGROUP,vers=2.0,file_mode=0777,dir_mode=0777 0 0
lien symbolique établi avec :
sudo ln -s /media/data/ /var/www/server
apache2.conf :
[...]
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
[...]