阿里雲簡訊服務使用代理的坑
1. 初始配置
在springboot 啟動時候配置了系統引數
其中的http 和 https 分別做好代理了
prop.setProperty("https.proxyHost", "192.168.0.1");
prop.setProperty("https.proxyPort", "8888");
就等價於 -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort = 8888 ,但是這種設定有一個限制,那就是隻對 JDK 自帶的 HttpURLConnection 有效
2. 阿里配置
阿里的SDK會通過 System.getenv("HTTPS_PROXY") 和 System.getenv("HTTP_PROXY") 來判斷系統的環境中是否有如下兩個變數。有的話就設定到 HttpClientConfig 中,沒有的話則直接 return
2.1 獲取預設profile
2.2 取用的是預設的HttpClientConfig
2.3 預設的代理為空
2.4 阿里取出的代理配置
結論:阿里取用的代理並不是我們第一步中設定的代理,所以我們要重新設定! 所以這個取出的預設代理並不是我們之前所設定的
3. 解決辦法
解決辦法 將HTTPS_PROXY 或者 HTTP_PROXY 設定為系統環境變數(可以生效,但是不推薦) 在 buildClient 方法裡面,可以發現只有當 HttpClientConfig 為空的情況下才會建立預設的 config,那麼我們可以在 IClientProfile 裡面,手動的將 HttpClientConfig 設定進去,從而避免建立預設的HttpClientConfig。 用 JDK 的 HttpURLConnection 發請求,通過 System.setProperty 設定代理。
在獲取profile的時候設定如下程式碼,
設定如下,新增代理
HttpClientConfig config = HttpClientConfig.getDefault();
config.setHttpProxy("http://10.26.x.x:8888");
config.setHttpsProxy("http://10.26.x.x:8888");
profile.setHttpClientConfig(config);
這才是真正的設定阿里呼叫時的代理地址
相關文章
- 阿里雲簡訊服務阿里
- 2020最新 使用阿里雲的簡訊服務傳送簡訊阿里
- 阿里雲簡訊服務的使用-----獲取簡訊驗證碼阿里
- Laravel 阿里雲簡訊服務包Laravel阿里
- 阿里雲訊息服務使用教程阿里
- 為何選擇阿里雲 簡訊服務阿里
- hyperf 使用阿里雲簡訊阿里
- 阿里雲簡訊服務實現網站手機簡訊驗證碼阿里網站
- Jave Web阿里雲簡訊服務傳送驗證碼Web阿里
- springboot 專案使用阿里雲簡訊服務傳送手機驗證碼Spring Boot阿里
- Laravel 極簡使用傳送簡訊 支援阿里雲、騰訊雲Laravel阿里
- go-zero之阿里發簡訊服務Go阿里
- PHP 擴充套件包教程學習分享 -- 阿里雲簡訊服務 SDKPHP套件阿里
- 阿里雲+docker搭建簡單node.js服務阿里DockerNode.js
- ThinkPHP5.1 接入阿里雲簡訊服務 (原大魚最新版) 指導PHP阿里
- Laravel 簡訊擴充套件包 - 目前支援簡訊服務商:阿里雲 / 雲片網 / 騰訊雲 / 簡訊寶 / 賽郵雲 /SendCloud/ 互億無線(支援全網簡訊擴充套件)Laravel套件阿里Cloud
- .net core 使用阿里雲簡訊傳送SMS阿里
- 阿里雲釋出 Elasticsearch 雲服務阿里Elasticsearch
- CentOS 配置阿里雲 NTP 服務CentOS阿里
- 阿里雲大資料計算服務MaxCompute使用教程阿里大資料
- 阿里雲簡訊傳送 sdk阿里
- 【親測可用】阿里雲簡訊阿里
- java 阿里雲簡訊傳送Java阿里
- 使用RSocket進行服務通訊的反應性服務簡介 - Rafał Kowalski
- 秒懂雲通訊:如何用阿里雲語音通知服務(小白指南)阿里
- 【故障公告】騰訊雲簡訊服務故障造成無法傳送手機簡訊
- 基於阿里雲日誌服務快速打造簡版業務監控看板阿里
- 阿里雲智慧對話分析服務阿里
- 阿里雲視訊點播服務端API和SDK測試阿里服務端API
- 在海外代理IP服務中,如何使用代理IP
- 阿里雲伺服器使用minikube構建開發服務阿里伺服器
- 阿里雲平臺傳送簡訊阿里
- 使用騰訊雲容器服務玩轉 Nginx IngressNginx
- 雲簡訊服務孰優孰劣?博睿資料9月雲簡訊評測報告
- 通過 Laravel 訊息通知使用 EasySms 簡訊服務,讓你的程式碼更簡潔Laravel
- Python 服務端整合 騰訊雲 IM 服務Python服務端
- 路飛學城專案之整合騰訊雲簡訊服務、簡訊驗證碼介面
- 基於ECS搭建FTP服務(阿里雲)FTP阿里