<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 82, comments - 269, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    用代理實現AJAX跨域訪問時遇到HTTPS

    Posted on 2007-04-27 16:26 itspy 閱讀(5949) 評論(4)  編輯  收藏 所屬分類: JAVA技術

     
    解決AJAX跨域訪問一般都是通過代理服務器來解決,但是我使用coldFusion實現這個問題時卻遇到這樣一個錯誤,在cfhttp標簽使用https訪問網站時,出現如下錯誤提示:
    Connection Failure: Status code unavailable
     
    找了好久也沒找到原因,最后還是在別的幫助下發現這個問題。由于個問題是語言無關的,所以不敢獨享,特拿來和大家分享。
     
    為了方便說明,先做出一些定義。
    代理服務器:在AJAX可以訪問的域中,并且代理AJAX來訪問其它網站的服務器,
    目標服務器:AJAX真實想想訪問的網址所在的服務器。
     
    我遇到的問題就是:代理服務器通過HTTPS訪問目標服務器,但是目標服務器的證書出于一些原因并不被信任。
     

    如何讓代理服務器相信目標服務器的證書呢:有兩種方法
    1):一般代理服務器都持有一些可信的頂CA的證書,如果站點的證書被其中之一的證書簽名過了,那么代理服務器就會相信這個證書。不過被這些頂給證書簽名是要收費的。(如何查看證書被哪些CA給簽名了,可以參考備注)
    2):你個人確定這個網站是沒有問題的(比如我們訪問公司自己的網站時),然后手工的告訴代理服務器,這個證書是可信的,那么以后被這個證書簽名過的證書對這個代理服務器也是可信的了。
    http://livedocs.adobe.com/coldfusion/7/htmldocs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=ColdFusion_Documentation&file=00000272.htm
        有一點要說明的,操作系統在安裝的時候,已經安裝了一些可信的證書(如何查看OS已經安裝了哪些證書,可以參考備注),所以在通過瀏覽器訪問網站的時候,如果網站的證書已經被這些證書其中之一簽名過了,瀏覽器也會相信這個網站的證書。否則瀏覽器會詢問你,這個證書有問題,你是否相信這個證書。
     
        按照上面的URL我給服務器添加證書后,發現還是不行。最后證書確實是被驗證通過了,但是證書是給指定的域名使用的,但是我在訪問這個網站時,使用的IP地址,不是域名,所以服務器還是不相信這個網站。就好比:你有一張身份證,身份證確實是真的,但是你拿到的是別人的身份證。
        通過查看證書,發現證書被頒發給如下域*.qa.webex.com(如何查看證書被頒發給哪些域名可以參考備注)。但之前我在code時,AJAX是直接使用的目標服務器的IP地址,不是域名。所以最后目標服務器無法被信任。這就好比,你明明拿著身份證去登機,雖然身份證是真的,但你同時要表明你就是身份證上的那人,你要是整容整的太大了,人家肯定不認你。
        最后解決這個問題的辦法:在代理服務器上的HOST文件里面添加一行記錄,把felix.qa.webex.com域名與目標服務器的IP關連起來。
     
        總結:要用代理實現AJAX跨域訪問遇到HTTPS協議時,首先要目標站點的證書被代理服務器信任,其次就是訪問的URL處于,證書頒發對象下面,不要使用IP地址這樣的方法來訪問。
     
     
     
    本文章首發于 http://blog.OpenJ.cn

    備注:
    1、如何查看證書被哪些CA,或者是其它證書簽名?
     通過瀏覽器(IE)打開對應的HTTPS網站。
     雙擊鎖形圖標(如果是IE6,這個圖標應該在右下角的狀態欄)
     點擊證書路徑,就可以看到這個證書的上級,以及上級的上級。


    2、證書可以給哪些網站使用?
     備注1已經說明了如何查看證書,打開證書,點擊常規:
     證書頒發給:*.qa.webex.com

    3、如何查看OS已經安裝了哪些證書?
     IE->工具->Internet選項->內容->證書
     這時你會看到很多Tab,不同的Tab對應不同的證書類型,我大概的看了一下,沒有100個,也有幾十個。在Windows下,Firefox好像并不使用OS的證書,而是使用自己安裝時帶的證書,以前好像看過,但寫此文章時沒有找到,也沒想到測試辦法。
     
     正是因為證書一般是OS安裝的,所以可以看到有的商業CA會在網站上說明,它頒發的證書適合xxxx年后的OS。

       
    3、CA:證書認證中心,Certificate Authority。我一直把其理解成一個證書發布機構。
     
     
     

     


    評論

    # re: 用代理實現AJAX跨域訪問時遇到HTTPS  回復  更多評論   

    2007-04-27 16:36 by 交口稱贊
    友情支持,圖片掛了

    # re: 用代理實現AJAX跨域訪問時遇到HTTPS  回復  更多評論   

    2007-04-28 09:12 by 王凌華
    既然碰到我們公司的同事了。:) 你好你好.

    # re: 用代理實現AJAX跨域訪問時遇到HTTPS  回復  更多評論   

    2007-04-28 12:16 by itspy
    @王凌華

    呵呵,人生何處不相逢,相逢一笑.........


    你是哪部分的?我是合肥的。

    # re: 用代理實現AJAX跨域訪問時遇到HTTPS  回復  更多評論   

    2007-04-30 14:31 by 自己的小屋
    Me in HF too. What is your English name?
    主站蜘蛛池模板: 成人自慰女黄网站免费大全 | 亚洲国产精品成人AV无码久久综合影院| 久久久亚洲AV波多野结衣| 在线涩涩免费观看国产精品| 国产成人亚洲综合色影视| 中国毛片免费观看| 亚洲国产精品一区第二页| 日本免费大黄在线观看| 亚洲成人免费电影| 免费精品一区二区三区在线观看| 亚洲精品精华液一区二区| 凹凸精品视频分类国产品免费| 免费手机在线看片| 亚洲色精品88色婷婷七月丁香| 老司机69精品成免费视频| 亚洲国产精品美女| 在线观看免费大黄网站| 男人和女人高潮免费网站| 亚洲午夜福利717| 国产91色综合久久免费分享| 最新国产成人亚洲精品影院| 国产精品免费视频网站| 国产精品免费久久久久久久久| 久久亚洲精品视频| 四虎永久在线精品免费观看视频| 亚洲欧美成人一区二区三区| 亚洲国产小视频精品久久久三级| 最近中文字幕大全免费版在线| 亚洲伊人久久大香线蕉| 四虎影院永久免费观看| 国内精品一级毛片免费看| 亚洲人成片在线观看| 四只虎免费永久观看| 91在线老王精品免费播放| 中文字幕亚洲精品无码| 精品国产亚洲男女在线线电影 | 最近中文字幕mv免费高清视频8| 77777亚洲午夜久久多喷| 亚洲人成网站18禁止一区| 91高清免费国产自产拍2021| 亚洲.国产.欧美一区二区三区|