Domanda

Ho un sistema WSS 3.0 utilizzando SSL dove si suppone che ogni pagina per essere servito come https. Quasi tutte le pagine fanno venire fuori come https, ma in certi casi clicco su un link e che porta in primo piano una versione http di una pagina (che non caricare). In questi casi devo mettere la 's' in mano per ottenere il caricamento della pagina. Luoghi in cui questo accade sono:

  • / _ layout / newgrp.aspx: quando si tenta di creare un nuovo gruppo, mi ci vuole per http: / /server/_layouts/newgroup.aspx , anche se dovrebbe essere https. La pagina non viene caricata su http. Lo fa carico se cambio l'url a mano.
  • / _ layout / edtgrp.aspx: stessa cosa newgrp.aspx
  • se vado in una libreria di documenti e visualizzare la versione della storia di un file, gli URL alle singole versioni di tale file sono http. È interessante notare che la barra di stato del browser indica anche http quando mi passa il mouse su di loro (così sembra che SharePoint ottiene confusi quando si genera i link, piuttosto che quando si fa clic su di essi)

Per risolvere questo problema, ho provato ad aggiungere un po 'di javascript per il DOM che ricerca per le istanze di http e li sostituisce con https. Questo funziona in alcuni casi, ma ci sono alcuni posti in cui javascript non possono raggiungere, per esempio quando SharePoint fornisce l'URL di destinazione in risposta a una richiesta POST, che credo sia il caso di newgrp / edtgrp.aspx.

Inoltre ho provato ad aggiungere filtri ISAPI per reindirizzare le pagine da http a https. Questo sembra causare reindirizzare i cicli, e in ogni caso non sono sicuro se tali filtri sarebbero preservare querystring o POST informazioni.

Qualcuno ha visto questo problema?

Aggiornamento: Abbiamo passato a ISA da Squid, e il problema continua nella cronologia delle versioni, ma non sul nuovo gruppo o Modifica gruppo. Non abbiamo ancora visto alcun miglioramento di modificare le impostazioni AAM.

Luoghi in cui questo sta accadendo in ISA:

  • "Cronologia delle versioni" alla voce in elenco o raccolta documenti
  • "Gestisci autorizzazioni" alla voce in elenco o raccolta documenti
  • "Alert Me" alla voce in elenco o raccolta documenti
  • "Aggiungi utenti" menuitem in "Utenti e gruppi" pagina
  • "Impostazioni gruppo" menuitem in "Utenti e gruppi" pagina
  • "Modifica gruppo di avvio veloce" menuitem in "Utenti e gruppi" pagina
  • "costituire gruppi" menuitem in "Utenti e gruppi" pagina
  • "Impostazioni elenco" menuitem in "Utenti e gruppi" pagina
È stato utile?

Soluzione 5

Alex ha risposto a questa domanda con un approccio che penso generalmente funzionerà. Ecco come ho risolto questo particolare.

Sembra quando una pagina aspx SharePoint viene caricato, popola una struttura di tipo JavaScript ContextInfo (definito in Init.js), che viene creata un'istanza nella CTX variabile. Tale struttura ha un membro chiamato httpRoot, che viene poi utilizzato in Core.js per costruire menuitems in vari menu a discesa.

Questa ctx.httpRoot è per qualche motivo popolata in javascript nei file aspx creati da SharePoint con una linea come questa:

    ctx.HttpRoot = "http:\u002f\u002fsubdomain.domain.com";

Sì, ha Unicode barre ed ha http invece di https. Non ho idea del perché. Ma, fissando questa linea di javascript sembra risolvere il problema.

ho cambiato la linea con l'aggiunta di una regola di conversione URL in ISA che converte http: \ u002f \ u002f \ a https: \ u002f \ u002f \. Ho il sospetto che un modulo HTTP che rende la stessa sostituzione sarebbe anche funzionare. O forse alcuni javascript ben piazzato che riassegna la variabile ad un certo punto.

Credo ancora questo non è l'ideale e ci deve essere un modo più opportuno fissare questi collegamenti.

Altri suggerimenti

Non so se questo è vero, ma avete controllato i mapping di accesso alternativo per assicurarsi che essi dicono https anziché http?

Mi associo il suggerimento per controllare i Mapping di accesso alternativo. È la SSL in corso per le SharePoint Front-end, o è stato fatto tramite un pezzo di hardware SSL dedicato?

Con un HTTP Modulo per modificare l'output di SharePoint in modo che i collegamenti sono sempre cambiati a https. Tale modulo può collegare in IIS e modificare il codice HTML di qualsiasi cosa resa. Ho usato questa tecnica per rendere SharePoint standard XHTML e funziona bene.

Ancora meglio, quasi tutto il lavoro è già stato fatto per voi. Il UrlRewritingNet modulo è open source ed è disponibile per il download gratuito. Dovrebbe funzionare bene per il sito di SharePoint. Questo strumento ha una grande documentazione e utilizza espressioni regolari per abbinare gli URL di alterare. Dovrebbe essere abbastanza facile scrivere uno per il vostro caso, ad esempio, ^http://. Ci sono anche molte opzioni più avanzate è possibile usufruire di se necessario.

Se preferisci scrivere il proprio allora c'è un buon articolo chiamato Rewrite.NET -. Un URL Rewriting Engine per .NET sul sito 15 secondi

Infine, se si sta utilizzando IIS 7 si potrebbe provare le sue href="http://www.iis.net/extensions/URLRewrite" . Non ho mai usato questo me stesso e non so se funziona con SharePoint, ma è la soluzione più UI-driven disponibili.

Aggiungi un reindirizzamento in IIS da http a https. Ogni volta che si accede la pagina che vi reindirizzerà alla pagina https anziché.

Vorrei anche suggerire mettendo WSS su un altro server per vedere se si hanno gli stessi problemi. Se non lo fai, potrebbe essere necessario ricostruire / migrare la roba sopra.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top