国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[Nacos] 業(yè)務(wù)實例如何指定IP注入Nacos

這篇具有很好參考價值的文章主要介紹了[Nacos] 業(yè)務(wù)實例如何指定IP注入Nacos。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

需求描述

使用 Spring Cloud Alibaba 搭建微服務(wù),業(yè)務(wù)實例默認(rèn)使用內(nèi)網(wǎng) IP 注冊到 Nacos 服務(wù)端,這樣在跨局域網(wǎng)時會無法請求成功。那如何解決呢?

答:指定外網(wǎng) IP 注冊到 Nacos 上。
[Nacos] 業(yè)務(wù)實例如何指定IP注入Nacos

下述方法來自網(wǎng)絡(luò),版權(quán)歸原著作人,本人只是搬運(yùn)工+實踐者!

No.1 指定IP注冊

在 Nacos 客戶端指定IP,啟動成功后即可以在 Nacos 服務(wù)端上看到對應(yīng)的IP。

在 bootstrap.yml 配置文件中寫入:

spring.cloud.nacos.discovery.ip = xx
spring.cloud.nacos.discovery.port = xxx

或指定網(wǎng)卡注冊:

spring.cloud.nacos.discovery.networkInterface = xx

也可以使用spring cloud 的 InetUtils工具,配置項為,具體說明可以自行檢索

spring.cloud.inetutils.default-hostname
spring.cloud.inetutils.default-ip-address
spring.cloud.inetutils.ignored-interfaces
spring.cloud.inetutils.preferred-networks
spring.cloud.inetutils.timeout-seconds
spring.cloud.inetutils.use-only-site-local-interfaces

No.2 動態(tài)注冊IP-配置文件形式

package com.zhongyi.doctor.config;

import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
import com.alibaba.cloud.nacos.NacosServiceManager;
import com.alibaba.cloud.nacos.discovery.NacosServiceDiscovery;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;

/**
 * @author SymbolWong
 * @description
 * @date 2023/2/6 16:25
 */
@Configuration
@Slf4j
public class NacosDiscoveryConfig {
    /**
     * nacosConfigServerAaddr yml中配置的nacos配置中心地址
     */
    @Value("${spring.cloud.nacos.config.server-addr}")
    String nacosConfigServerAaddr;
    /**
     * nacosConfignamespace yml中配置的nacos配置中心命名空間
     */
    @Value("${spring.cloud.nacos.config.namespace}")
    String nacosConfignamespace;
    /**
     * getServerInternetIP 通過Nginx獲取本機(jī)外網(wǎng)IP,需要Nginx配合配置
     * @author IPMan
     * @date 2022/7/10
     *
     * @return java.lang.String 返回本機(jī)外網(wǎng)IP
     */
    private String getServerInternetIPByNginx(){
        //通過配置中心地址構(gòu)造查詢IP請求地址
        String url="http://"+nacosConfigServerAaddr.split(":")[0]+"/getIp";
        //調(diào)試輸出,這里不推薦err的方式輸出,這樣僅為測試使用,推薦采用日志實現(xiàn)或者不輸出
        // System.err.println(url);
        log.warn("Nacos server addr is {}",url);
        //外網(wǎng)IP
        String internetIP="127.0.0.1";
        //這里一步完成了,構(gòu)造一個RestTemplate對象,通過對指定URL執(zhí)行GET請求來獲取響應(yīng)實體
        ResponseEntity<String> response =
                new RestTemplate()
                        .getForEntity(url, String.class);
        // //從響應(yīng)實體對象中獲取內(nèi)容
        internetIP = response.getBody();
        // //調(diào)試輸出,這里不推薦err的方式輸出,這樣僅為測試使用,推薦采用日志實現(xiàn)或者不輸出
        // System.err.println(internetIP);
        log.warn("Internet ip is {}",url);
        return internetIP;
    }

    /**
     * nacosProperties Nacos 服務(wù)發(fā)現(xiàn)配置類,代替yml中spring.cloud.nacos.discovery:配置
     * @author IPMan
     * @date 2022/7/10
     *
     * @return com.alibaba.cloud.nacos.NacosDiscoveryProperties
     */
    @Bean
    public NacosDiscoveryProperties nacosProperties() {
        //new一個nacos服務(wù)發(fā)現(xiàn)配置對象
        NacosDiscoveryProperties properties = new NacosDiscoveryProperties();
        //設(shè)置發(fā)現(xiàn)注冊的IP,即注冊中心詳情中的IP,這里很關(guān)鍵,默認(rèn)是Inet4Address.getLocalHost(),即如果包含子網(wǎng),則獲取的是子網(wǎng)IP
        properties.setIp(getServerInternetIP());
        //設(shè)置注冊中心地址
        properties.setServerAddr(nacosConfigServerAaddr);
        //設(shè)置注冊中心命名空間
        properties.setNamespace(nacosConfignamespace);
        return properties;
    }

    private String getServerInternetIP() {
        String internetip = "";
        String url = "https://ip.3322.org";
        internetip = HttpRequest.get(url)
                .header(Header.USER_AGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36")
                .execute().body();
        log.warn("Internet ip is {}",internetip);
        return internetip;
    }

    /**
     * nacosServiceDiscovery nacos 服務(wù)發(fā)現(xiàn)對象,這個對象構(gòu)造完成后是無法設(shè)置配置的
     * @author IPMan
     * @date 2022/7/10
     *
     * @param discoveryProperties com.alibaba.cloud.nacos.NacosDiscoveryProperties
     * @param nacosServiceManager com.alibaba.cloud.nacos.NacosServiceManager
     * @return com.alibaba.cloud.nacos.discovery.NacosServiceDiscovery
     */
    @Bean
    public NacosServiceDiscovery nacosServiceDiscovery(
            NacosDiscoveryProperties discoveryProperties,
            NacosServiceManager nacosServiceManager) {
        return new NacosServiceDiscovery(discoveryProperties, nacosServiceManager);
    }
}

PS:本人使用該方法雖然能注冊成功,但是請求是失敗的,報錯:Illegal character in authority at index 7,本來以為是得到的公網(wǎng)IP前后有空格之類的,用了trim方法依然還是報錯,有待繼續(xù)研究。

No.3 動態(tài)IP注冊-監(jiān)聽器形式

  1. 新建監(jiān)聽器類
package com.zhongyi.doctor.config;

import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import org.springframework.boot.context.config.ConfigFileApplicationListener;
import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent;
import org.springframework.boot.context.event.ApplicationPreparedEvent;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.event.SmartApplicationListener;
import org.springframework.core.Ordered;

/**
 * @author SymbolWong
 * @description
 * @date 2023/2/18 9:13
 */
public class AfterConfigListener implements SmartApplicationListener, Ordered {


    @Override
    public boolean supportsEventType(Class<? extends ApplicationEvent> aClass) {
        return (ApplicationEnvironmentPreparedEvent.class.isAssignableFrom(aClass) ||
                ApplicationPreparedEvent.class.isAssignableFrom(aClass));
    }

    @Override
    public int getOrder() {
        return (ConfigFileApplicationListener.DEFAULT_ORDER + 1);
    }

    @Override
    public void onApplicationEvent(ApplicationEvent applicationEvent) {
        String currentIp = getServerInternetIP();
        if (applicationEvent instanceof ApplicationEnvironmentPreparedEvent) {
            System.setProperty("spring.cloud.nacos.discovery.ip", currentIp);
        }
    }


    private String getServerInternetIP() {
        String internetip = "";
        String url = "https://ip.3322.org";
        internetip = HttpRequest.get(url)
                .header(Header.USER_AGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36")
                .execute().body();
        return internetip.trim();
    }
}

  1. 啟動入口處注入該監(jiān)聽類
SpringApplication springApplication = new SpringApplication(DoctorApplication.class);
springApplication.addListeners(new AfterConfigListener());
springApplication.run(args);

PS:使用此方法完美解決,可以愉快的跨服務(wù)器請求了!

特別強(qiáng)調(diào)

  1. 跨服務(wù)器組裝業(yè)務(wù)一定要使用公網(wǎng)IP,千萬不要用內(nèi)網(wǎng)IP!??!
  2. 注意防火墻、安全組的限制?。?!

參考文章

https://developer.aliyun.com/article/984147文章來源地址http://www.zghlxwxcb.cn/news/detail-446312.html

到了這里,關(guān)于[Nacos] 業(yè)務(wù)實例如何指定IP注入Nacos的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringCloud Nacos服務(wù)注冊指定注冊的ip和端口號

    SpringCloud Nacos服務(wù)注冊指定注冊的ip和端口號

    如果說我們默認(rèn)不配置注冊指定ip和端口號那么會走我們的本地網(wǎng)卡 特殊服務(wù)部署可能需要制定注冊的ip與端口號 配置文件加上 spring.cloud.nacos.discovery.ip = ip spring.cloud.nacos.discovery.port = 端口 就可以啦

    2024年02月11日
    瀏覽(24)
  • 華為云云服務(wù)器云耀L實例評測 | 智能不卡頓:如何實現(xiàn)流暢的業(yè)務(wù)運(yùn)行

    華為云云服務(wù)器云耀L實例評測 | 智能不卡頓:如何實現(xiàn)流暢的業(yè)務(wù)運(yùn)行

    ???? 博主貓頭虎(????)帶您 Go to New World??? ?? 博客首頁 ——????貓頭虎的博客?? ?? 《面試題大全專欄》 ?? 文章圖文并茂??生動形象??簡單易學(xué)!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍專欄》 ?? 學(xué)會IDEA常用操作,工作效率翻倍~?? ?? 《100天精通Golang(基礎(chǔ)

    2024年02月09日
    瀏覽(97)
  • 如何通過Nacos獲取當(dāng)前服務(wù)注冊的IP信息

    如何通過Nacos獲取當(dāng)前服務(wù)注冊的IP信息

    一臺機(jī)器可能存在多個網(wǎng)卡也就同時存在多個IP地址,如果我想知道我這個服務(wù)在向Nacos注冊的時候使用的哪一個IP該怎么獲取呢? 非常簡單,你可以通過這種方式獲取 也可以在任意地方注入nacos的NacosDiscoveryProperties來獲取比如下面 輸出的就是本機(jī)向Nacos注冊的IP地址 10.xxx.xxx.212

    2024年02月11日
    瀏覽(25)
  • 如何利用Socks5代理IP提升網(wǎng)絡(luò)安全與跨境電商業(yè)務(wù)

    在今天的數(shù)字時代,網(wǎng)絡(luò)安全對于個人和企業(yè)來說都至關(guān)重要。隨著跨境電商和在線游戲等業(yè)務(wù)的不斷發(fā)展,保護(hù)網(wǎng)絡(luò)安全變得尤為重要。Socks5代理IP是一項強(qiáng)大的工具,可以幫助您實現(xiàn)更高水平的網(wǎng)絡(luò)安全,同時促進(jìn)跨境電商和游戲領(lǐng)域的增長。本文將探討Socks5代理IP的作用

    2024年02月09日
    瀏覽(24)
  • 微服務(wù)注冊到Nacos后如何讀取外網(wǎng)IP

    微服務(wù)部署后,各服務(wù)是需要相互間調(diào)用的,其中服務(wù)A在去調(diào)用服務(wù)B的時候發(fā)現(xiàn)無法調(diào)用成功。其中服務(wù)注冊和發(fā)現(xiàn)中心以及配置中心使用的是Nacos。Nacos客戶端在注冊服務(wù)時會從機(jī)器網(wǎng)卡中選擇其中一個IP來注冊,當(dāng)我們要部署的機(jī)器存在多個網(wǎng)卡(例如存在虛擬網(wǎng)卡)時

    2024年02月16日
    瀏覽(18)
  • windows系統(tǒng)多網(wǎng)口如何指定出口IP

    windows系統(tǒng)多網(wǎng)口如何指定出口IP

    需求背景: 服務(wù)器通常有多個網(wǎng)口,每一個網(wǎng)口提供不同的流量 網(wǎng)絡(luò)拓?fù)洌?舉例 : 服務(wù)器 server 有兩個網(wǎng)口:分別為: LAN 提供內(nèi)部網(wǎng)絡(luò)的訪問,不配置網(wǎng)關(guān) WAN1 提供外部網(wǎng)絡(luò)的訪問 查看IP命令:?ipconfig ?打印路由命令:route print ?有兩條永久路由: 1、到172.20.0.0/16 網(wǎng)絡(luò)通

    2024年02月04日
    瀏覽(16)
  • 如何使用靜態(tài)IP代理解決Facebook多賬號注冊并進(jìn)行網(wǎng)絡(luò)推廣業(yè)務(wù)?

    如何使用靜態(tài)IP代理解決Facebook多賬號注冊并進(jìn)行網(wǎng)絡(luò)推廣業(yè)務(wù)?

    在當(dāng)今的數(shù)字時代,社交媒體成為了企業(yè)進(jìn)行網(wǎng)絡(luò)推廣的一個重要途徑,其中,F(xiàn)acebook是最受歡迎的社交媒體之一,因為它可以讓企業(yè)通過創(chuàng)建廣告和頁面來推廣他們的產(chǎn)品或服務(wù)。 但是,使用Facebook進(jìn)行網(wǎng)絡(luò)推廣時,很多企業(yè)會面臨一個問題:不能大量注冊賬號。那么,這

    2024年01月25日
    瀏覽(26)
  • 業(yè)務(wù)拓展利器!跨境電商如何選對代理IP?IPIDEA 一鍵連接全球商機(jī)!

    業(yè)務(wù)拓展利器!跨境電商如何選對代理IP?IPIDEA 一鍵連接全球商機(jī)!

    全球化趨勢下的跨境電商 據(jù)統(tǒng)計,全球跨境電商市場規(guī)模已超過4萬億美元,并呈現(xiàn)出持續(xù)增長的趨勢。各國政府也紛紛出臺政策支持跨境電商發(fā)展,進(jìn)一步促進(jìn)了市場規(guī)模的擴(kuò)大。 跨境電商面臨的挑戰(zhàn) 跨境電商在迅速發(fā)展中,也面臨著諸多挑戰(zhàn),如不同國家地區(qū)的語言、文

    2024年03月16日
    瀏覽(43)
  • 原生IP代理如何幫助跨境電商店鋪做谷歌廣告投放業(yè)務(wù)的?

    原生IP代理如何幫助跨境電商店鋪做谷歌廣告投放業(yè)務(wù)的?

    隨著全球化的發(fā)展,越來越多的電商店鋪開始拓展跨境業(yè)務(wù),而谷歌廣告作為全球最大的廣告平臺之一,為跨境電商店鋪帶來了巨大的收益和商機(jī)。 然而,由于谷歌廣告的地域限制和審查機(jī)制,店鋪很難直接進(jìn)行投放業(yè)務(wù),這時使用原生IP代理服務(wù)就成為了一種不錯的解決方

    2024年01月18日
    瀏覽(22)
  • 設(shè)置數(shù)據(jù)庫服務(wù)器電腦固定IP,指定IP,靜態(tài)IP的方法教程,WIn7電腦如何設(shè)置固定IP的方法,設(shè)置電腦的指定IP

    設(shè)置數(shù)據(jù)庫服務(wù)器電腦固定IP,指定IP,靜態(tài)IP的方法教程,WIn7電腦如何設(shè)置固定IP的方法,設(shè)置電腦的指定IP_嗶哩嗶哩_bilibili 本期視頻講解:如何將服務(wù)器電腦的IP地址改成固定IP。 https://www.bilibili.com/video/BV1qF411F7wF/ 盤點機(jī)PDA登錄界面,【連接設(shè)置】里,如果是局域網(wǎng)實時在

    2024年02月10日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包