阿里雲簡訊服務使用代理的坑
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阿里
- 阿里雲訊息服務使用教程阿里
- 為何選擇阿里雲 簡訊服務阿里
- PHP開發阿里雲簡訊服務介面PHP阿里
- 阿里雲簡訊服務實現網站手機簡訊驗證碼阿里網站
- Jave Web阿里雲簡訊服務傳送驗證碼Web阿里
- [簡訊服務] 公司簡訊介面及其呼叫
- 使用RSocket進行服務通訊的反應性服務簡介 - Rafał Kowalski
- springboot 專案使用阿里雲簡訊服務傳送手機驗證碼Spring Boot阿里
- hyperf 使用阿里雲簡訊阿里
- 在海外代理IP服務中,如何使用代理IP
- PHP 擴充套件包教程學習分享 -- 阿里雲簡訊服務 SDKPHP套件阿里
- 通過 Laravel 訊息通知使用 EasySms 簡訊服務,讓你的程式碼更簡潔Laravel
- Nginx代理服務Nginx
- ThinkPHP5.1 接入阿里雲簡訊服務 (原大魚最新版) 指導PHP阿里
- awsec2使用ses郵件服務的坑
- Apache 代理服務的配置方法Apache
- 阿里雲+docker搭建簡單node.js服務阿里DockerNode.js
- Nginx服務系列——代理Nginx
- go-zero之阿里發簡訊服務Go阿里
- 服務端介面中的那些坑服務端
- 微服務的服務間通訊與服務治理微服務
- consul服務註冊與服務發現的巨坑
- .net core 使用阿里雲簡訊傳送SMS阿里
- Laravel 簡訊擴充套件包 - 目前支援簡訊服務商:阿里雲 / 雲片網 / 騰訊雲 / 簡訊寶 / 賽郵雲 /SendCloud/ 互億無線(支援全網簡訊擴充套件)Laravel套件阿里Cloud
- Laravel 極簡使用傳送簡訊 支援阿里雲、騰訊雲Laravel阿里
- 排坑之旅——動態代理給Spring事務種下的坑Spring
- 阿里雲視訊點播服務端API和SDK測試阿里服務端API
- PHP實現代理服務功能PHP
- nginx反向代理多個服務Nginx
- 避坑指南之財務共享中心的服務管理
- 在 Java 中使用 redis 的訊息佇列服務JavaRedis佇列
- 阿里雲資源編排服務JavaSDK使用入門阿里Java
- 移動訊息應用將親手扼殺簡訊服務
- 簡訊驗證碼服務平臺哪個好?