Joomla.it Forum
Joomla! 3 => Joomla! 3 => : fusars 21 Mar 2021, 22:17:17
-
Buon giorno, spero di essere nella sezione giusta.
Vi scrivo per chiedere aiuto nel chiarire una questione relativa al link esterni.
In una pagina del nostro sito sono elencati i soci dell'associazione con link ai relativi siti. Molti di questi siti non hanno un certificato ssl. Nel back end il link al sito è inserito con protocollo http, mentre se accedo al front end il link riporta il certificato https.
Pagina: https://www.co-energia.org/chi-siamo/struttura-associativa.html (https://www.co-energia.org/chi-siamo/struttura-associativa.html)
Vedi ad esempio Ass. Ecoistituto della Valle del Ticino.Codice in backend<li><a href="http://www.ecoistitutoticino.org/" target="_blank" rel="noopener noreferrer">Ass. Ecoistituto della Valle del Ticino (Cuggiono - MI)[/url]</li>
Front end: Ass. Ecoistituto della Valle del Ticino (Cuggiono - MI) (https://www.ecoistitutoticino.org/)
Se si cerca di accedere al sito segnala un potenziale rischio.
Joomla trasforma automaticamente tutti i link da http a https? È possibile disabilitare questa funzione? In tal caso cìè qualche controindicazione?
Ora sto contattando i singoli soci per affiancarli nel passaggio http>https, ma nel frattempo come posso aggirare il problema?
Grazie milleLaura
-
sbagliato trasformare un sito esterno da https a http.
se questo non ha un certificato e nemmeno un server configurato rischi di avere tutti errori.
Dei siti esterni non hai potere ne giurisdizione, quindi fregatene.
pensare di risolvere eliminando o inserendo una "s" è solo fantasia sfrenata.
-
Vorrei solo capire perchè se io inserisco url http in back, in front compare https.Non posso inserire link verso url http (senza s)?
Non fantastico di risolvere il problema inserendo o eliminando una S, solo vorrei capire come funziona.
-
dipende dall'hosting che ospita il sito dei tuoi soci. Possono aver impostato che tutte le richieste al loro sito vengano traslate in httpS, mentre nei siti dove ti appare l'errore non é stata attivata questa funzione.
-
Grazie per le risposte, provo a specificare meglio perchè forse non mi sono spiegata bene.
In questa pagina ho inserito una serie di link che puntano a siti esterni: https://www.co-energia.org/chi-siamo/struttura-associativa.html
Nel backend ho inserito gli url con protocollo http, ma se passo con la manina sopra ai link nel fronte del sito tutti gli ulr hanno protocollo https.
Al di la dei problemi che questa cosa crea (forzando un https su un sito che non ha certificato ssl quando provo ad aprire la pagina mi compare un errore) vorrei capire se questa modifica da http a https viene fatta da Joomla in automatico o se c'è qualche funzione che involontariamente ho attivato io. O se dipende dal mio hosting.
Parlo del mio hosting perchè https compare ancora prima di cliccare sul link ma anche solo passando la manina o visualizzando la sorgente pagina si vede che tutti i link sono https (se vado in backend invece confermo che nel codice html dell'articolo i link sono stati inseriti tutto con http).
Spero di non aver fatto troppa confusione e scusatemi se ho usato qualche terminologia nel modo non correto.Grazie!
-
quello che vedi nella barra di stato del browser è quello che è scritto nel tuo backend (non credo proprio che joomla risolva gli indirizzi in automatico). Secondo me stai facendo un po' di confusione.
Se ad esempio imposti tutti i link con http, se sul sito di destinazione è attivo il certificato https, il link verrà traslato in automatico (ora spero di esser stato chiaro io) ;)
-
È proprio questo che mi fa impazzire
Per favore puoi vedere gli screenshot e aiutarmi a capire dove sto facendo confusione?
(L'articolo è lo stesso, se aggiungo un testo "prova" dal back compare anche in front)
Back visuale
(http://www.laurabrassini.it/test/back%20visuale.png)
back codice
(http://www.laurabrassini.it/test/back%20codice.png)
front visuale (vedi link in fondo all'immagine)
(http://www.laurabrassini.it/test/front%20visuale.png)
front sorgente pagina
(http://www.laurabrassini.it/test/front%20sorgente%20pagina.png)
-
e questo è molto strano, perchè è tutto corretto. ::)
-
Non è che hai forzato joomla su ssl?
-
Sì, ma anche se lo disattivo non cambia nulla.
Avevo già provato ed anche adesso ho disattivato, pulito cache del sito e del browser ma non cambia nulla.
Nel frattempo ho provato a contattare l'assistenza dell'hosting per verificare se c'è qualche forzatura lato server, non so se è possibile, ma tentar non nuoce, è proprio un mistero.
-
Buongiorno a tutto il forum Joomla Italia,sono il sysadmin che gestisce il server presso cui è ospitato il sito co-energia.org gestito al top da @fusars (magari tutti i clienti scrivessero nei forum per cercare di risolvere autonomamente i problemi!) e qualche tempo fa ho preso in carico la situazione da lei presentata.
Innanzi tutto ringrazio tutti voi per il lavoro che state facendo, e, seppur non uso Joomla [per lo sviluppo preferisco python/Django :-)], credo fermamente nel software libero e nelle potenzialità che esprime a seconda dei bisogni e delle skill di chi lo utilizza. Quindi ... vediamo di capire se è un "problema mio" che posso risolvere con delle configurazioni, o se si può cogliere l'occasione di individuare un limite di Joomla ed eventualmente migliorarlo.
Il nostro caso è di un Joomla dietro reverse proxy nginx. con queste direttive:
location / {
proxy_pass http://localhost:8079;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $host;
}
la direttiva X-Forwarded-Proto è necessaria in modo che i link preesistenti in Joomla che rimandavano all'URL http://*co-energia.org venissero tradotti in https.
Potremmo risolvere la tua situazione @fusars, modificando a mano i link del sito http://*co-energia.org in https, ma sarebbe più carino capire dove Joomla effettua questa sostituzione (l'aggiunta della "s") perché a mio avviso dovrebbe farlo solamente per quei siti che iniziano con http://$live_site.
Credo che questa operazione dovrebbe essere fatta nel file libraries/src/Uri/Uri.php
, funzione getInstance dove viene analizzato X_FORWARDED_PROTO ma non mi sembra intuitivo proporre una patch e non ho sufficienti conoscenze su Joomla.
Voi che ne dite?
Mi sapete dire altrimenti dove sbaglio?
-
Scusa ma perché metti una direttiva per trasformare ogni http in https? Dove leggi che è necessario? Il problema ctedo sia impostazione del server e non di joomla, altrimenti succederebbe a tutti questa trasformazione e invece non accade.
-
fero, ho paura che abbiate configurato, oltre a risolvere tutti gli indirizzi del sito di @fusar anche quelli in uscita e questo è un errore, perchè se linka un sito senza certificato (come ha rappresentato) appare l'errore. Detto ciò dovete correggere quell'impostazione proxy
-
Ciao a tutti,
grazie per le risposte.
Come avevo presentato nel mio post io ho settato l'header: proxy_set_header X-Forwarded-Proto https;
poi è Joomla che nella fase di produzione della pagina rimpiazza tutti gli http con https ed a mio avviso è lì lo sbaglio anche se non ho trovato la riga esatta di codice(dovrebbe solo rimpiazzare gli http://$base con https://$base per non sovrascrivere gli url esterni come diceva @renzo973)
In ogni caso oggi sono a scrivere perché abbiamo implementato una soluzione artigianale.
1. ho disabilitato l'header X-Forwarded-Proto https
2. ho evitato che Joomla scrivesse il tag html <base href="http://www.co-energia.org">
con cui autocompletava tutti gli url relativi nei tag href.
In allegato la patch con questa soluzione quick and dirty.
Altra opzione è rendere il $base
vuoto, ma non so dove si fa e ho preferito riportare qui la soluzione invece che cercare l'origine. Magari voi avete già questa risposta.
Grazie per il supporto a questa problematica,penso che @fusar possa marcare questo topic come [SOLVED], ma non conosco la policy del forum, quindi dite voi.
Saluti a tuttifero
-
Scusa ma come fai a dire che joomla rimpiazza in automatico tutti gli http con https? Non lo fa e non serve nessun sotterfugio.
-
@tomtomeight hai provato a far arrivare al php l'header
X-Forwarded-Proto: https
?
Non vedo chi lo potrebbe fare altrimenti. Nel mio stack ho un nginx senza nessun rewrite del contenuto della pagina e con 3 semplici direttive per il proxy che ho messo nel mio primo post, il container php:7-apache che contiene una configurazione di base di apache da me non modificata e il .htaccess fornito da Joomla stesso.
Da quello che ha mostrato @fusars all'inizio di questo thread mi sembra evidente che una sovrascrittura c'è, anche sugli URL esterni. Chi la fa se non Joomla?
-
Succede solo a lui e per qualche impostazione non di base interna o esterna a joomla.