Err too many redirects op Android / iPhone

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • GoT
  • Registratie: Mei 2004
  • Niet online

GoT

/ / ( . Y . ) \ \

Topicstarter
Hallo,

Ik heb een prive website waar SSL op draait.
In Global.asax zit een redirect om naar SSL te gaan:
code:
1
2
3
4
5
        if (!IsPostBack && !app.Request.IsSecureConnection &&  ... <nog een aantal conditites>))
        {
            app.Response.Redirect(Request.RawUrl.Replace("http://","https://"), true);
            return;
        }


Als ik de website open met een Windows PC, dan gaat alles goed en redirect die keurig van http naar https.

Open ik het op mijn Android smartphone dan krijg ik de melding: Err too many redirects
Open ik het met mijn iPhone, dan krijg ik de melding: Safari cannot open the page because too many redirects occurred.

Het heeft zeker met de redirect naar SSL te maken, want als ik https:// direct invoer dan werkt de website.
Hoe moet ik de website redirecten, zodat het op een smartphone ook werkt ?
Het liefst gebruik ik geen URL rewrite module, want dat is weer iets installeren op de server en ik heb toch ASPX hiervoor.

Uiteraard heb ik Google gebruikt, de antwoorden:
- Gebruik een andere browser: Yeah right !!! :F
- Delete cookies+ cache: al gedaan, probleem blijft.

Server:
Windows 2012R2
IIS 8.5
.NET 4.x

o << Your asshole before prison.
O << Your asshole after prison.

Alle reacties


Acties:
  • 0 Henk 'm!

Anoniem: 420461

Je wilt eigenlijk een waarde in RawUrl aanpassen - waarom test je niet of die waarde in RawUrl voorkomt dan, in plaats van al die andere tests?

Acties:
  • 0 Henk 'm!

  • GoT
  • Registratie: Mei 2004
  • Niet online

GoT

/ / ( . Y . ) \ \

Topicstarter
Anoniem: 420461 schreef op zondag 9 juli 2017 @ 15:33:
Je wilt eigenlijk een waarde in RawUrl aanpassen - waarom test je niet of die waarde in RawUrl voorkomt dan, in plaats van al die andere tests?
whut ?
Ik weet 100% zeker dat de waarde: "http://" in de URL voorkomt, daar hoef ik niet op te checken.
Maar mijn vraag ging over: "Too many redirects".

o << Your asshole before prison.
O << Your asshole after prison.


Acties:
  • 0 Henk 'm!

Anoniem: 420461

Toch gaat er ergens in je test iets niet goed waardoor hij elk verzoek weer probeert te redirecten. Het kan geen kwaad nog even te testen of er echt geen "https://" in voorkomt.

Heb je je logfiles al gecheckt?

Acties:
  • 0 Henk 'm!

  • knarfyboy
  • Registratie: November 2001
  • Laatst online: 28-04 22:54
Curl de url eens met follow redirects en dan loggen? Heeft me vaak geholpen.

Acties:
  • +1 Henk 'm!

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Als dit puur is om SSL af te dwingen zou ik dat anders doen namelijk via een IIS rewrite rule:

code:
1
2
3
4
5
6
7
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
  <match url="(.*)" />
    <conditions>
      <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions>
  <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>


Deze zit standaar al in IIS 8.5 en hoef je naar mijn weten niet te activeren, daarnaast ook handig om allerlei vervelende requests af te vangen.

Ik heb een tijdje terug een vergelijkbaar probleem gehad bij een CMS, echter daar zit ook een stukje redirection onder de motorkap en dan kunnen dit soort conflicten wel eens ontstaan. Wat wel vreemd is is dat het kennelijk browserspecifiek is. Je hebt trouwens ook wat online sites waar je de redirects kunt checken.

[ Voor 37% gewijzigd door raptorix op 10-07-2017 11:43 ]

Pagina: 1