2010-10-11 185 views
1

這是在VS 2005.和IIS是6.0。我正在嘗試爲HTTPS使用自簽名證書。在代碼中,我從http重定向到https幾頁。它nt工作正常。 而在IIS管理器中,對於我想要HTTP的每個頁面,我通過選中「需要安全通道(SSL)」和「需要128位加密」來更改其設置。HTTPS自簽名證書中的錯誤

public void setSecureProtocol() 
    { 
     string redirectUrl = null; 
     bool bSecure = true; 
     bool SecureConnection = true; 
     if (bSecure && SecureConnection) 
      redirectUrl = Request.Url.ToString().Replace("http:", "https:"); 
     else 
      if (!bSecure && SecureConnection) 
       redirectUrl = Request.Url.ToString().Replace("https:", "http:"); 

     if (redirectUrl != null) 
      Response.Redirect(redirectUrl); 
    } 

頁扔給我這樣的錯誤

的頁面必須通過安全通道 您試圖 訪問的頁面被固定與安全套接字 層(SSL)進行查看。

請嘗試以下方法:

* Type https:// at the beginning of the address you are attempting to reach and press ENTER. 

HTTP錯誤403.4 - 禁止訪問:SSL是查看該資源所需的 。 Internet信息服務(IIS)Internet信息服務(IIS)

當我試圖把HTTPS URL中的開始,它不會叫。我不知道這裏有什麼不對。請幫助我。

這裏,

它不從http重定向到https。

對於我在後面的代碼中沒有重定向的頁面,以及在IIS中更改的頁面,我可以在檢查兩個複選框時看到HTTPS。

請別人幫我!!!!提前感謝!

Internet Information Services(IIS)

+0

你做調試,看看你是否真的將http更改爲https?流程邏輯中的錯誤可能會阻止替換。 – Aristos 2010-10-11 16:35:00

+0

是的,我做了調試,看看。它顯示它重定向到HTTPS。但之後會發生一些事情。我的第一個問題是:如果我應該讓代碼重定向到https。或者證書是否爲自己做? – Ram 2010-10-11 16:45:57

+0

也許有第二個重定向到http?上面的代碼至少有一個錯誤 - if(bSecure && SecureConnection)必須是 - > if if(bSecure &&!SecureConnection) – Aristos 2010-10-11 16:48:55

回答

0

@Ram我認爲我發現了這個問題。

我已經通過檢查改變了設置「要求安全通道(SSL)」和「要求128位加密」

你必須限制此頁面的HTTP,所以當你稱呼其爲HTTP ,根本沒有加載該頁面以使您的代碼運行並將其重定向到https。

因此,請刪除對該頁面的http的限制以讓它運行並允許交換機,並且您只需注意始終爲https。

這是一個非常nice code to do that

另一種方式是改變了這一切,你希望是安全的鏈接頁面,並以https發送,並迫不及待地想在該頁面將它們從代碼更改背後。

+0

@Aristos:所以你的意思是,我應該在任何地方都取消「需要安全通道(SSL)」和「需要128位加密」,看看這個鏈接是否超出我的理解水平,請儘快聯繫我,謝謝! – Ram 2010-10-12 05:27:13

+0

@Ram是的,我的意思是你從IIS中刪除了所有的「需要安全通道(SSL)」,並處理你的代碼第二種方式:當你有一個帶有鏈接到安全頁面的頁面時,輸入完整的路徑,例如:(https:// www.mypages.com/login.aspx) - 你需要 – Aristos 2010-10-12 06:23:50

+0

@Aristos我沒有選擇任何東西,而且重定向工作正常,當我進入頁面時顯示https,但是我仍然有相同的錯誤,它在我之後自動重定向到https未經檢查,但爲什麼這讓我不安?只是爲了提醒你,我正在使用s精靈簽名證書!請提供其他幫助嗎? – Ram 2010-10-12 12:12:54