小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

用Nginx實現(xiàn)https轉(zhuǎn)http

 WindySky 2017-11-08

 緣由

當(dāng)前公司服務(wù)器已經(jīng)采用 http 協(xié)議的方式部署成功,可 App Store 要求必須采用 https 協(xié)議,那么,能否在不改變公司服務(wù)器代碼的情況下,實現(xiàn) https 的要求呢?

答案是肯定的,采用 Nginx 反向代理實現(xiàn)(以代理服務(wù)器來接受internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器)。

windows 環(huán)境下安裝

http:///

一些代碼

unzip nginx-1.3.13.zip

cd nginx-1.3.13

cd c:/nginx-1.10.2/
  • 1
  • 2
  • 3
  • 4
  • 5

啟動

start nginx


// 臨時代碼
c:/nginx-1.10.2/start.bat
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

停止

停止:
nginx.exe -s stop

或
nginx.exe -s quit


批量刪除 nginx 進程(可能點擊太多引起的)
taskkill /F /IM nginx.exe > nul 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

重新載入

nginx.exe -s reload
  • 1

配置

nginx-1.10.2/conf/nginx.conf

    server {
        # 監(jiān)聽8080端口
        listen 8080;

        # 服務(wù)器根目錄
        root html/data/up1;

        location / {
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

配置好后,打開地址即可訪問頁面( html/data/up1 下的默認(rèn)首頁)

http://localhost:8080

啟動 ssl

    server {
        listen       443 ssl;

        # 域名,實際情況下時,將這個改成域名
        server_name  localhost;

        ssl on;

        # 證書位置
        ssl_certificate  ssl/server.crt;
        ssl_certificate_key ssl/server.key;
        location / {
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

可以打開這個地址 
https://localhost:8080

當(dāng)然,瀏覽器會提示站點不安全,解決這個問題的方式是 選擇官方頒布的 SSL 證書

反向代理

方式是指以代理服務(wù)器來接受internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請求連接的客戶端

示例

將 1.gif 放在 html/data/up1 目錄下

詳細可參照幫助文檔 
http:///en/docs/beginners_guide.html

服務(wù)器1

server {
    listen 8080;
    root html/data/up1;

    location / {
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

服務(wù)器2

server {
    listen 82;

    location / {
        # 當(dāng)前的轉(zhuǎn)發(fā)到
        proxy_pass http://localhost:8080;
    }

    location /images/ {
        root html/data;
    }

    # location ~ \.(gif|jpg|png)$ {
    #   root html/data/images;
    # }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

http://localhost:82/1.gif 
如果最后配置打開后,相當(dāng)于找 root 為 html/data/images/1.gif 的文件

http://localhost:82/images/1.gif ==> http://localhost:82/data/images/1.gif 
因為匹配到了 /images/ 相當(dāng)于找 root 為 html/data/images/1.gif

http://localhost:82/data/images/1.gif ==> http://localhost:8080/data/images/data/images/1.gif 
所以,找不到了

https 轉(zhuǎn) http

轉(zhuǎn)發(fā)測試示例

    server {
        listen 82;
        listen       443 ssl;

        ssl on;
        ssl_certificate  ssl/server.crt;
        ssl_certificate_key ssl/server.key;

        location / {
            # 轉(zhuǎn)發(fā)到 http 服務(wù)器中
            proxy_pass http://localhost;
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

蘋果ATS驗證

更新Nginx根目錄下 conf/nginx.conf 文件如下:

server { 
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; 
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
}

允許windows 防火墻端口例外

443

nginx 配置

    server {
        listen       443 ssl;

        # server_name s4.url.cn; #填寫綁定證書的域名
        server_name localhost; #匹配的域名名稱

        ssl on;
        ssl_certificate ssl/1_s4.url.cn_bundle.crt;
        ssl_certificate_key ssl/2_s4.url.cn.key;

        ssl_session_timeout 5m;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協(xié)議配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個套件配置
        ssl_prefer_server_ciphers on;       

        location / {
            proxy_pass http://s4.url.cn;
        }
    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

技巧

發(fā)現(xiàn)錯誤的調(diào)試方法

查看錯誤日志,這里通常會寫好路徑轉(zhuǎn)發(fā)的測試

c:/nginx-1.10.2/logs/error.log

IP地址的SSL可以訪問,但域名不可以

找了好久,才發(fā)現(xiàn)測試的 域名 與 IP 地址不一致,當(dāng)然域名訪問不了啦

參考資料

反向代理:Web服務(wù)器的“經(jīng)紀(jì)人” 
http://www./lib/view/open1417488526633.html


修改轉(zhuǎn)發(fā)的信息 
http://blog.csdn.net/u010391029/article/details/50395680


SSL證書配置 

http://www./news/ios-app-https.htm


轉(zhuǎn)載地址:http://blog.csdn.net/lvye1221/article/details/53843607

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多