Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    62

    [VB.NET] Reverse proxy e Response.Redirect

    Salve a tutti, avrei un problema con un sito che sta dietro ad un reverse proxy installato con Apache 2.2.17.
    Come regola, il reverse proxy ridirige tutti gli url del tipo http://123.123.123.123/sito/ sulla root del sito.

    Il problema è quando in una pagina c'è un Response.Redirect("pippo.aspx"), perché il reverse proxy non sembra gestire correttamente la cosa e ridirige il browser su http://123.123.123.123/pippo.aspx anziché su http://123.123.123.123/sito/pippo.aspx
    Veramente non so se sia colpa di Apache o del codice VB.NET.

    EDIT: sono andato a vedere la richiesta che parte quando viene scatenato l'evento.
    L'IIS risponde con questi header:
    codice:
    Date: Wed, 20 Apr 2011 22:50:07 GMT
    Server: Microsoft-IIS/6.0
    X-Powered-By: ASP.NET
    X-AspNet-Version: 2.0.50727
    Location: /pippo.aspx
    Cache-Control: private
    Content-Type: text/html; charset=utf-8
    Content-Length: 135
    Set-Cookie: ASP.NET_SessionId=blablabla; path=/; HttpOnly
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Capito l'HTTP server? Location: /pippo.aspx

    Apache sembra quindi innocente. È dunque un problema di IIS o di VB.NET?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    62

    Soluzione!

    La soluzione che ho trovato consiste nel sostituire Response.Redirect con le seguenti 4 istruzioni:
    codice:
                Response.StatusCode = 302
                Response.Status = "302 Found"
                Response.RedirectLocation = "pippo.aspx"
                Response.End()
    In questo modo l'header Location viene impostato correttamente su pippo.aspx e non su /pippo.aspx

    Scusate tutti per il disturbo

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Il giallo dell'app server assassino è risolto !

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    62
    Approfitto del tuo reply per cercare di chiarire un dubbio che mi attanaglia.

    Il sito in questione non l'ho sviluppato io, che di ASP.NET me ne intendo una cosa veramente minima, ma un collaboratore esterno.
    Questo collaboratore sostiene che il suo sito, che altro non è che un portale ad uso aziendale, non sia "proxabile" nonostante la soluzione che ho riportato qui sopra, e per questo necessiti di stare su una macchina con IP pubblico per potervi accedere.

    I motivi mi sono ignoti, per cui vorrei chiedere: cosa può rendere un sito sviluppato in ASP.NET non proxabile, a parte i problemi riscontrabili con Response.Redirect?
    La gestione degli upload dei file? La presenza di DB testuali?
    Non saprei proprio cosa tirare fuori ma mi piacerebbe tanto saperlo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.