web-dev-qa-db-fra.com

Le manifeste Web n'est pas accessible après avoir forcé SSL

J'ai récemment commencé à forcer les formulaires HTTPS et non WWW pour l'URL de mon PWA React via le fichier .htaccess, mais cela empêche apparemment certaines applications (telles que pwabuilder.com) d'accéder aux fichiers publics de l'application, tels que son manifeste Web. . Cela dit, certaines applications, telles que Chrome mobile, me permettent d'accéder au manifeste. Comment puis-je le rendre toujours accessible?

Mon fichier .htaccess est structuré comme suit:

<IfModule mod_rewrite.c> 
  RewriteEngine On
  RewriteCond %{HTTPS} off [OR]
  RewriteCond %{HTTP_Host} ^www\. [NC]
  RewriteRule ^ https://aurora.igloo.ooo%{REQUEST_URI} [L,NE,R=301]
</IfModule>
<IfModule mod_rewrite.c> 
  RewriteEngine On  
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
  RewriteRule ^ - [L]

  RewriteRule ^ /index.html [L]
</IfModule>

Le fichier auquel pwabuilder.com ne peut pas accéder est hébergé sur https://aurora.igloo.ooo/manifest.json

6
Samuele Dassatti

aurora.igloo.ooo a un serveur étrange et empêche certaines requêtes d’accéder à manifest.json.
La première fois que j'ai cliqué sur votre lien, j'ai vu le manifest.json. Ensuite, j'ai appelé la page principale en supprimant le chemin du fichier, j'ai cliqué de nouveau sur l'historique du navigateur pour voir le manifeste à nouveau et j'ai obtenu ceci (avec le code de réponse http 200):

 enter image description here

En le regardant dans la console réseau, cela devient encore plus confus, mais cela conduit également à la source de l'erreur:

 enter image description here

Il se plaint de l'activation manquante de javascript. Ils font donc des choses étranges avec javascript et probablement une redirection cachée aussi (sinon le code de réponse serait 3xx). Peut-être ne veulent-ils jamais que le manifeste soit consulté de l'extérieur; il n'est pas configuré correctement et peut être visualisé dans certaines conditions.

Je n'ai pas de solution rapide à votre problème, mais il est évident que certains clients ne peuvent pas accéder au manifeste et que vous devez rechercher une autre solution. Si vous travaillez pour aurora.igloo.ooo, vous devez parler avec les développeurs frontaux et/ou les administrateurs de serveur pour changer quelque chose, sinon vous devez offrir votre propre fichier manifeste. Il est également possible qu’ils proposent une solution au problème, mais pour cela, vous devez avoir accès à une FAQ ou à une base de connaissances, ou contacter le support.

3
David

Ayant lu des informations sur les fichiers de manifeste sur le bureau, cela forcerait une autre expérience utilisateur et au moins en chrome changerait la fenêtre complète. Bien que cela puisse être cool pour certaines pages spéciales, cela pourrait également être déroutant.
Voici les trois liens que j'ai lus à ce sujet:

  1. https://developers.google.com/web/fundamentals/web-app-manifest/
  2. https://developers.google.com/web/fundamentals/app-install-banners/
  3. https://developers.google.com/web/progressive-web-apps/desktop

Mon hypothèse est que aurora.igloo.ooo ne veut jamais rompre avec l'expérience de navigation courante en affichant une fenêtre d'application spéciale sur le bureau. Par conséquent, ils empêchent le chargement du manifeste correctement sur le bureau.
Je viens de lire la première fois à ce sujet, donc le comportement technique, comme je l’avais compris, pourrait être erroné ou ce n’est pas tout le contexte technique.
Au moins, l’impression que j’ai eu est que sur un ordinateur de bureau, il faut envisager deux fois si un site Web doit fonctionner en tant qu’application Web. Si vous choisissez néanmoins cette solution, vous aurez probablement besoin de trouver plus d’informations à ce sujet, mais les liens que j’ai mis en ligne pourraient être un bon début et offrir encore plus de détails et de liens.

Une autre raison de ne pas utiliser une application Web pour ordinateur de bureau pourrait être la compatibilité entre les navigateurs, car la prise en charge des options techniques est très différente:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json#Browser_compatibility

1
David