Spring Boot网络配置之server.address超详细讲解

 更新时间:2025年09月03日 08:21:30   作者:爱的叹息  
在Spring Boot中,我们可以通过配置server.address属性来指定应用程序绑定的IP地址,下面这篇文章主要介绍了Spring Boot网络配置之server.address的相关资料,需要的朋友可以参考下

前言

在Spring Boot配置文件中,server.address用于指定应用绑定的网络接口地址。通过这个配置项,可以控制应用程序监听的IP地址,从而影响外部访问的权限和方式。

示例代码

以下是一个简单的示例,展示了如何在[application.yml](file://D:\workspace\me\rbac2024\read\后台系统\shop-api\itmk-base-web\target\classes\application.yml)中配置server.address的不同值:

server:
  port: 8089
  address: 0.0.0.0  # 可替换为127.0.0.1、localhost等

配置详解

  • address: 0.0.0.0
    表示应用程序将监听所有网络接口上的连接请求。这意味着可以通过本机的任何IP地址或主机名访问该服务,适用于需要从外部访问的场景。

    // 当配置为0.0.0.0时,Spring Boot会绑定到所有可用的网络接口
    @Bean
    public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() {
        return factory -> {
            factory.setPort(8089); // 设置端口号
            factory.setAddress(null); // null表示绑定到所有接口(即0.0.0.0)
        };
    }
    
  • address: 127.0.0.1address: localhost
    表示应用程序仅监听本地回环地址,只能通过本机访问,无法从其他机器访问。这通常用于开发环境,确保安全性。

    // 当配置为127.0.0.1或localhost时,Spring Boot只会绑定到本地回环接口
    @Bean
    public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() {
        return factory -> {
            factory.setPort(8089); // 设置端口号
            try {
                factory.setAddress(InetAddress.getByName("127.0.0.1")); // 明确绑定到127.0.0.1
            } catch (UnknownHostException e) {
                throw new RuntimeException(e);
            }
        };
    }
    
  • 不配置server.address
    如果不显式配置server.address,Spring Boot默认会使用0.0.0.0作为监听地址,除非有其他逻辑导致其选择不同的地址(例如某些安全策略或特定的部署环境)。

不同配置的区别总结

配置值描述外部访问能力
0.0.0.0监听所有网络接口,允许通过任何IP地址或主机名访问支持外部访问
127.0.0.1仅监听本地回环地址,只能通过本机访问不支持外部访问
localhost127.0.0.1,仅监听本地回环地址不支持外部访问
不配置默认行为通常是监听所有网络接口(即0.0.0.0支持外部访问

结论

  • 0.0.0.0:适用于生产环境或需要从外部访问的应用程序。
  • 127.0.0.1localhost:适用于开发环境或需要限制访问的安全场景。
  • 不配置:默认行为通常与0.0.0.0相同,但具体行为可能受部署环境影响。

通过合理配置server.address,可以根据实际需求控制应用程序的网络访问权限,提升安全性和灵活性。

到此这篇关于Spring Boot网络配置之server.address的文章就介绍到这了,更多相关Spring Boot网络配置server.address内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringSecurity入门使用教程

    SpringSecurity入门使用教程

    ​ Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架,它是用于保护基于Spring的应用程序的实际标准,这篇文章主要介绍了如何使用SpringSecurity,需要的朋友可以参考下
    2023-12-12
  • SpringBoot整合Mybatis的知识点汇总

    SpringBoot整合Mybatis的知识点汇总

    在本篇文章里小编给各位整理的是关于SpringBoot整合Mybatis的知识点汇总,有兴趣学习的参考下。
    2020-02-02
  • 一文带你了解FastExcel的使用

    一文带你了解FastExcel的使用

    我们知道 EasyExcel 在作者从阿里离职之后就停止维护了,但在前两周 EasyExcel 原作者推出了他的升级版框架 FastExcel,下面小编就来和大家聊聊FastExcel的具体使用吧
    2024-12-12
  • mybatis中一对一关系association标签的使用

    mybatis中一对一关系association标签的使用

    这篇文章主要介绍了mybatis中一对一关系association标签的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • SpringBoot中的跨域详解

    SpringBoot中的跨域详解

    这篇文章主要介绍了SpringBoot中的跨域详解,在浏览器上当前访问的网站,向另一个网站发送请求,用于获取数据的过程就是跨域请求,跨域是浏览器的同源策略决定的,是一个重要的浏览器安全策略,需要的朋友可以参考下
    2023-08-08
  • Java开发微信公众号接收和被动回复普通消息

    Java开发微信公众号接收和被动回复普通消息

    这篇文章主要介绍了Java开发微信公众号接收和被动回复普通消息的相关资料,需要的朋友可以参考下
    2016-01-01
  • java操作(DOM、SAX、JDOM、DOM4J)xml方式的四种比较与详解

    java操作(DOM、SAX、JDOM、DOM4J)xml方式的四种比较与详解

    java中四种操作(DOM、SAX、JDOM、DOM4J)xml方式的比较与详解
    2008-10-10
  • IntelliJ IDEA最佳配置(推荐)

    IntelliJ IDEA最佳配置(推荐)

    这篇文章主要介绍了IntelliJ IDEA最佳配置,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Spring Boot 3 集成 RabbitMQ 实践指南(原理解析)

    Spring Boot 3 集成 RabbitMQ 实践指南(原理解析

    本文介绍了SpringBoot 3集成RabbitMQ的实践指南,涵盖了RabbitMQ的核心原理、核心概念、高级特性、应用场景、环境搭建、核心配置类、消息生产者、消息消费者、接口控制器、监控与运维、最佳实践以及常见问题与解决方案等内容,感兴趣的朋友一起看看吧
    2025-02-02
  • SpringBoot通过RedisTemplate执行Lua脚本的方法步骤

    SpringBoot通过RedisTemplate执行Lua脚本的方法步骤

    这篇文章主要介绍了SpringBoot通过RedisTemplate执行Lua脚本的方法步骤,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论