日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

关于内网使用Nginx正向代理发送极光推送

發(fā)布時間:2023/12/10 Nginx 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于内网使用Nginx正向代理发送极光推送 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)于內(nèi)網(wǎng)使用Nginx正向代理發(fā)送極光推送

  • 一 業(yè)務(wù)場景
  • 二 使用極光前的準(zhǔn)備工作
  • 三 配置nginx.conf
  • 四 極光推送部分代碼
    • 結(jié)束語

一 業(yè)務(wù)場景

微信支付返回交易信息到內(nèi)網(wǎng)的系統(tǒng),信息由內(nèi)網(wǎng)系統(tǒng)處理后訪問極光提供的API https://api.jpush.cn/v3/push 由此來完成消息的推送。內(nèi)網(wǎng)系統(tǒng)不能直接訪問外網(wǎng),準(zhǔn)備使用nginx做正向代理訪問極光的API。

二 使用極光前的準(zhǔn)備工作

1 下載極光的jar包添加到項目中 2 服務(wù)器安裝nginx 由于管網(wǎng)的文檔很詳細(xì),以上兩步自行解決。

三 配置nginx.conf

1 服務(wù)器IP假設(shè)nginx IP為 33.33.33.33 2 極光IP極光域名 api.jpush.cn 的IP是動態(tài)變化的,官方建議是開放域名訪問,最要不要在hosts里綁定IP。官方有幾個固定IP 113.31.138.48113.31.138.47183.232.57.12但是不保證固定不變,并且如果有變動也只會主動通知極光的VIP。所以你可以用固定的IP,也可以ping一下 api.jpush.cn 得到IP。我就使用的 113.31.138.48 PS:使用極光V3接口(只支持https請求)要開放443端口(),使用V2接口要開放80端口,但是后者已經(jīng)不再維護了,所以不建議使用。 3 配置hostsview /etc/hosts 在hosts文件解析域名 113.31.138.48 api.jpush.cn保存 4 配置nginx.confnginx.conf一版在默認(rèn)目錄 /etc/niginx/ 下 http {log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;server {listen 443;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location /v3 {proxy_pass https://api.jpush.cn;}} }

其他的沒有需求的話就不用管,最基礎(chǔ)的在server 里面監(jiān)聽 443端口,
然后配置一個location /v3 來匹配請求
然后將 https://api.jpush.cn 賦給 proxy_pass
重啟nginx nginx -s reload
你能ping通極光,基本用這個配置就可以了。

四 極光推送部分代碼

1 使用HttpProxy來代理
2 使用構(gòu)造器 public JPushClient(String masterSecret, String appKey, HttpProxy proxy, ClientConfig conf)來實例化client
3 實例化 ClientConfig,來配置要訪問的IP

HttpProxy httpProxy = new HttpProxy("33.33.33.33", 443) ClientConfig clientConfig = ClientConfig.getInstance();clientConfig.setPushHostName("http://33.33.33.33");//這個必須設(shè)置,如果不設(shè)置會出現(xiàn) 400 bad request JPushClient jPushClient = new JPushClient(masterSecret, appKey, httpProxy, clientConfig); PushPayload pushPayload = buildPushObject_all_alias_alert(alias, total); ... 配置要推送的消息,看官方文檔... ...

結(jié)束語

基本上極光推送的坑就在這個設(shè)置hostname上了,clientConfig.setPushHostName("http://33.33.33.33") 在網(wǎng)上查了許久,論壇也看了,并沒有給出有效的辦法,極光官方也只是強調(diào)域名的問題,nginx配置沒有問題,就是代理不出去,報錯400 bad request。 最后試著配置一下config結(jié)果就訪問成功了,所以使用nginx代理訪問一定要配置clientConfig.setPushHostName("服務(wù)器IP")! 重要的事情說三遍!!! 關(guān)于極光推送,有不對的地方、有什么好的建議或者想討論的朋友歡迎留言~~~~

總結(jié)

以上是生活随笔為你收集整理的关于内网使用Nginx正向代理发送极光推送的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。