Suite à màj Nextcloud et Onlyoffice : Bloqué par la politique X-Frame-Options

Mon serveur YunoHost

Matériel: Ordi portable 64 bits
Version de YunoHost: 3.8.4.6
J’ai accès à mon serveur : En SSH et En direct avec un clavier/écran
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : oui, instance qui a au moins 4 ans, qui a migré à chaque fois.

Description du problème

J’ai fait la mise à jour de Nextcloud vers 18.0.4, et celle de Onlyoffice, et maintenant quand j’essaie d’ouvrir un document sur nextcloud j’ai le message d’erreur suivant :

Bloqué par la politique X-Frame-Options

Une erreur est survenue pendant une connexion à onlyoffice.plaf.fr.

Firefox a empêché le chargement de cette page dans ce contexte car la politique X-Frame-Options de la page ne l’autorise pas.

J’ai cherché un peu sur le net, mais rien trouvé de probant. J’ai tenté les 2 commandes suivantes :
curl -v https://mondomaine.fr/nextcloud -» j’ai la ligne x-frame-options: SAMEORIGIN
curl -v https://onlyoffice.mondomaine.fr -» j’ai 2 lignes x-frame-options: SAMEORIGIN et x-frame-options: ALLOW-FROM https://plaf.fr/nextcloud

Une idée ?

A mon avis c’est parce que onlyoffice a une manière absolument déguelasse de résoudre le probleme actuellement :

en gros ça remplace comme un sauvage l’option qui va bien dans la conf nginx du domaine où nextcloud est installé … Ce qui fait que Yunohost va voir ce fichier comme étant “manuellement modifié” (donc quelque part tu as ptete fait aussi un “yunohost tools regen-conf nginx --force” qui a eu pour effet de casser la bidouille)

Du coup comme expliqué ici ça ne marche plus à cause de changement dans la façon dont yunohost gère ces confs …

Apriori il faut maintenant plutôt rajouter une ligne (toujours dans la conf /etc/nginx/conf.d/domain.tld.conf du domaine où nextcloud est installé…) avec un more_set_headers qui va bien … Mais je t’avoue que j’ai pas trop la motiv de faire tout le setup pour tester ça alors si quelqu’un est chaud …

Le mieux ça serait d’ouvrir une issue sur le repo d’onlyoffice_ynh… Histoire que quelqu’un s’en occupe…

Aprés je dis ça parce que c’est moi qui ait fait l’horrible hack y’a 13 mois… a mes début de YunoHost quand Onlyoffice marchait pas du tout…

1 Like

L’issue existe déjà depuis Octobre 2019, linké dans mon précédent post :stuck_out_tongue_winking_eye:

1 Like

Ok, moi je veux bien tester, @Aleks est-ce que tu peux me dire plus précisément la ligne qu’il faut rajouter ou la commande à faire ? “un more_set_headers qui va bien” ça ne me parle pas trop…
Et autre question, maintenant que onlyoffice est aussi intégré comme une app à nextcloud, est-ce qu’on a un intérêt à le garder comme app yunohost ? Qu’est-ce que ça change d’utiliser l’app yunohost ou l’app nextcloud ?
Merci !

Sorry c’était pour eviter d’avoir à chercher xD

Bon mais j’ai creusé un peu et je pige pas trop pourquoi ce hack est fait comme il est fait actuellement …

Naivement je tenterais d’ouvrir avec nano le fichier /etc/nginx/conf.d/domain.tld.conf (avec domain.tld = le domaine où onlyoffice est installé)

et de rajouter en dessous de la ligne ssl_certificate_key ..., la ligne :

more_set_headers "X-Frame-Options : ALLOW-FROM https://nextclouddomain.tld always";

(en remplacant nextclouddomain.tld par le domaine où est installé nextcloud)

(Mais maintenant que j’y regarde de plus près je comprends pas pourquoi on peut pas faire tout ça dans onlyoffice.conf … mais on va voir)

Sauvegarde/quitte nano, valide avec nginx -t puis recharge nginx avec systemctl reload nginx

Je sais plus pourquoi mais il me semble que oui … ljf saurait mieux expliquer que moi je crois

1 Like

Ça marche, merci !

@tomdereub : est-ce que je peux abuser de ton temps encore un peu ? Est-ce que tu pourrais défaire la manip et refaire une manip similaire dans /etc/nginx/conf.d/tondomaine.tld.d/onlyoffice.conf

Tu devrais trouver une ligne comme ça :

add_header X-Frame-Options "ALLOW-FROM https://nextclouddomain.tld" always;

et il faut la changer en :

more_set_headers "X-Frame-Options : ALLOW-FROM https://nextclouddomain.tld always";

(puis nginx -t et reload de nginx …) et voir si ça fonctionne toujours ? (éventuellement vider le cache du navigateur)

Si tu confirmes que ça marche ça simplifierait grandement la correction du problème dans l’app directement

Testé et approuvé, pour moi ça marche.
(je trouve ça assez drôle que tu ais peur d’abuser de mon temps… il me semble qu’en tant qu’utilisateur de yunohost j’abuse bien plus du tiens !!!)

1 Like

Bonjour,

J’ai le même problème avec Wordpress et Peertube (tous deux installés sur mon serveur ynh) : j’avais intégré/embarqué des vidéos Peertube dans des posts Wordpress et depuis une récente mise à jour de Firefox, les vidéos ne s’affichent plus. À la place, j’ai le même message d’erreur que @tomdereub : “Bloqué par la politique X-Frame-Options etc.

Vous pensez que la solution que vous proposez s’applique aussi à mon cas ?

Bonjour,
J’avais le même problème que tomdereub que j’ai résolu en installant l’extension Ignore X-Frame-Options pour firefox et pour chrome.
Je ne sais pas si cette option est recommandée mais elle a le mérite d’être simple.
Je pense qu’elle fonctionne avec n’importe quelle application car elle modifie la politique du navigateur et pas celle de l’application.

Oui

Pour info, la dernière mise à jour de onlyoffice-ynh règle le problème.

2 Likes

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.