我面临一个有线问题,如果我将我的网站部署在生产服务器上并假设它可以作为 www.sampledomain.com 访问
在公共互联网上公开它后,我们面临的主要问题之一是 httpRedirection 301 不起作用。
我们有以下页面,只能通过 https 访问 [我们在网站上安装和配置了有效的 SSL 证书],我们已将网站中的一个页面的标志 RequiresSSL 设置为 true
http://sampledomain.com/feedback
因此,当通过 http 请求此页面时,服务器会发送 http 301 状态代码,但不会更新响应标头中的位置字段。下面是通过 fiddler 捕获的请求和响应标头。
请求标头
GET http://sampledomain.com/feedback HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: sampledomain.com
Cookie: ASP.NET_SessionId=1qhnx44cyjev5n4dkvdad31l;.ASPXAUTH=FF155AF2A8698A8AC1AB36639BB3C0BF4C4CABCB8FEA1982A02103A137577F5FC9432578B74E60E0F2999E3BCD33A7FDBE61CABAF3B20FC884A13D56BFCB0810202D58C0718D7987F74F26A8288F1276F2AD0046CAA2132E56D35299482EC1B6BCACC114BDB3496AA5BA5DBFCAA05DF65C0D6E406A5B36135079FF7F9C5A34B3
响应头
HTTP/1.1 301 OK
Connection: Keep-Alive
Content-Length: 208
Date: Wed, 05 Dec 2012 06:35:39 GMT
Location: http://sampledomain.com/feedback
Server: PSA's Webserver
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="https://sampledomain.com/feedback ">here</a>.</h2>
</body></html>
在这里,您看到服务器在 Location 字段中发送回相同的 url,因此浏览器陷入无限循环并且页面未加载。
如果我通过 https 协议请求页面,一切正常。 https://sampledomain.com/feedback
如果我们通过网络访问网站,自动 http 重定向也可以正常工作,这意味着当我们不通过互联网并通过公司网络访问网站时。
非常感谢帮助解决这个问题
感谢和问候
高拉夫