欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

內(nèi)網(wǎng)穿透神器:Ngrok在支付中的正確使用姿勢

前言

隨著互聯(lián)網(wǎng)的發(fā)展,無論是web服務(wù)還是移動APP越來越多的都集成了第三方支付(支付寶、微信、銀聯(lián))。通常作為服務(wù)提供方,支付成功以后都會有一個后端回調(diào)URL來通知是否調(diào)用者是否支付成功,這個URL必須是公網(wǎng)環(huán)境,并且可以被訪問到。然而在實際開發(fā)測試環(huán)境中,我們一般都是在內(nèi)網(wǎng)開發(fā),所以說對于支付測試是一件比較麻煩的事情。

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁制作,對混凝土攪拌罐等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。

內(nèi)網(wǎng)穿透

這時候,我們就需要內(nèi)網(wǎng)穿透服務(wù)來解決第三方服務(wù)無法回調(diào)的問題了,下面我們來稍微盤點那些流行的內(nèi)網(wǎng)穿透技術(shù)。

Ngrok

ngrok 是一個反向代理,通過在公共的端點和本地運行的 Web 服務(wù)器之間建立一個安全的通道。ngrok 可捕獲和分析所有通道上的流量,便于后期分析和重放(百度百科)。

  • 優(yōu)點:使用方便,Docker容器化,配置簡單,各平臺支持,也可以自己搭建服務(wù)器

  • 缺點:ngrok 是一個開源程序,官網(wǎng)服務(wù)在國外,國內(nèi)訪問國外速度慢。1.7+以后不再開源,收費才是持續(xù)發(fā)展的動力

國內(nèi)也有相應(yīng)的ngrok服務(wù) natapp、frp、nat123端口映射、內(nèi)網(wǎng)通、花生殼等等,這里就不一個個介紹了,有興趣的可以自行谷歌,畢竟今天的主角是Ngrok。

下面一張圖我們來了解一下Ngrok的穿透流程:

內(nèi)網(wǎng)穿透神器:Ngrok在支付中的正確使用姿勢

環(huán)境說明

云服務(wù)器Linux(centos7.4)、Nginx、Docker、hteen/ngrok Docker鏡像,備案域名一枚

安裝說明

這里省去了Docker安裝說明,請自行安裝Docker。

獲取ngrok鏡像:
docker pull hteen/ngrok
啟動
  • 我們需要掛載宿機目錄(E.g /data/ngrok)到容器的/myfiles目錄
  • 第一次運行,它將會在/data/ngrok目錄下生成二進制文件和CA證書
sudo docker run --rm -it -e DOMAIN="ngrok.52itstyle.com" -v /data/ngrok:/myfiles hteen/ngrok /bin/sh  /build.sh

安裝成功會出現(xiàn)以下提示(省略中間過程):

Generating RSA private key, 2048 bit long modulus
.............................+++
.............................+++
e is 65537 (0x10001)
Generating RSA private key, 2048 bit long modulus
...............................+++
...............................+++
go get -tags 'release' -d -v ngrok/...
go install -tags 'release' ngrok/main/ngrok
build ok !

客戶端和服務(wù)端生成在/data/ngrok/bin目錄下:

bin/ngrokd                  服務(wù)端
bin/ngrok                   linux客戶端
bin/darwin_amd64/ngrok      osx客戶端
bin/windows_amd64/ngrok.exe windows客戶端
啟動Ngrok server

由于ngrok默認使用80和443端口,這里我們使用Nginx服務(wù)做轉(zhuǎn)發(fā),通過端口映射的方式訪問Docker容器(參考docker-compose.yml配置)。

docker run -idt --name ngrok-server \
-v /data/ngrok:/myfiles \
-p 8082:80 \
-p 4432:443 \
-p 4443:4443 \
-e DOMAIN='ngrok.52itstyle.com' hteen/ngrok /bin/sh /server.sh

啟動之后需要在nginx.conf 添加兩條反向代理配置(HTTPS請求自行配置):

server {
     listen       80;
     server_name  ngrok.52itstyle.cn *.ngrok.52itstyle.com;
     location / {
             proxy_redirect off;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://127.0.0.1:8082;
     }
 }
配置DNS解析

服務(wù)啟動后,要想正常運行,我們還需要添加兩條A記錄到云服務(wù)器(替換成自己的IP地址):

內(nèi)網(wǎng)穿透神器:Ngrok在支付中的正確使用姿勢

啟動Ngrok client

首先從data/ngrok/bin目錄下載各個環(huán)境下的客戶端。

windows 環(huán)境

首先創(chuàng)建一個ngrok.cfg配置文件:

server_addr: "ngrok.52itstyle.com:4443"
trust_host_root_certs: false

使用cmd命令切換到對應(yīng)的目錄下,然后執(zhí)行以下命令:

ngrok.exe  -config  ngrok.cfg -subdomain   doc 192.168.1.125:4999

如果出現(xiàn)以下界面,說明安裝成功:

內(nèi)網(wǎng)穿透神器:Ngrok在支付中的正確使用姿勢

Linux 環(huán)境

奇了個怪怪,linux下運行一直報以下錯誤,然并不清楚什么原因,有知道的小伙伴還望告知:

-bash: ./ngrok: /lib/ld-musl-x86_64.so.1: bad ELF interpreter: 沒有那個文件或目錄

注意事項

  • 防火墻需要開放4443端口,否則是無法連接成功的
  • 微信二維碼支付回調(diào)是需要域名認證的(后臺只能錄入一個URL),這個有點坑!!!

內(nèi)網(wǎng)穿透神器:Ngrok在支付中的正確使用姿勢

最后推薦一款支付寶,微信,銀聯(lián)詳細代碼案例:https://gitee.com/52itstyle/spring-boot-pay

參考

https://hub.docker.com/r/hteen/ngrok/
https://hteen.cn/docker/docker-ngrok.html
https://github.com/hteen/docker-ngrok
https://gitee.com/52itstyle/spring-boot-pay

本文標(biāo)題:內(nèi)網(wǎng)穿透神器:Ngrok在支付中的正確使用姿勢
轉(zhuǎn)載源于:http://www.chinadenli.net/article30/jsihso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版定制網(wǎng)站企業(yè)建站搜索引擎優(yōu)化網(wǎng)站維護外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)