在 Windows Server 上部署 Java 生产环境时,网络配置是确保应用稳定、安全运行的重要环节。以下是一个完整的 Java 生产环境网络配置指南,适用于常见的 Web 应用(如 Spring Boot、Tomcat、Jetty 等)。
🔧 一、基础网络配置
1. 静态 IP 地址配置
生产环境中建议使用静态 IP 地址,避免因 DHCP 变化导致服务不可用。
配置方法:
# 查看网卡名称
Get-NetAdapter
# 设置静态 IP(示例)
New-NetIPAddress -InterfaceAlias "以太网" -IPAddress 192.168.1.100 -PrefixLength 24 -DefaultGateway 192.168.1.1
# 设置 DNS
Set-DnsClientServerAddress -InterfaceAlias "以太网" -ServerAddresses ("8.8.8.8", "8.8.4.4")
2. 防火墙配置
Windows Server 自带防火墙,默认会阻止外部访问。
开放端口(如 8080):
New-NetFirewallRule -DisplayName "Allow TCP 8080" -Direction Inbound -LocalPort 8080 -Protocol TCP -Action Allow
如果使用 HTTPS(443)、HTTP(80)、或其他自定义端口,也要开放对应端口。
🌐 二、Java 应用的网络配置
1. JVM 启动参数设置绑定地址
如果你的应用监听所有网络接口(0.0.0.0),请确保配置正确:
java -jar -Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=192.168.1.100 myapp.jar
或者指定绑定地址(Spring Boot 示例):
server:
address: 192.168.1.100
port: 8080
注意:
server.address是可选的,不配置则默认监听0.0.0.0(即所有接口)。
2. Tomcat / Jetty 等容器配置
修改 server.xml 或相关配置文件中的 Connector 地址:
<Connector port="8080" protocol="HTTP/1.1"
address="192.168.1.100"
connectionTimeout="20000"
redirectPort="8443" />
🔒 三、网络安全加固建议
1. 使用反向(推荐)
使用 IIS、Nginx、HAProxy 等反向 Java 应用,可以增强安全性与性能。
示例:IIS + ARR + URL Rewrite 配置反向到 Tomcat
- 安装 ARR 模块
- 设置规则将
/api转发到http://localhost:8080/api
这样可以隐藏后端 Java 端口,提高安全性。
2. SSL/TLS 加密通信
使用 HTTPS 提供加密连接,防止数据泄露。
方法:
- 使用 Let’s Encrypt 或企业证书
- 在反向层配置 SSL(推荐)
- 或者直接在 Java 应用中启用 HTTPS(通过 keystore)
📡 四、DNS 和 Hosts 配置(可选)
如果 Java 应用依赖内部服务(如数据库、Redis),确保能解析主机名。
修改 hosts 文件:
路径:C:WindowsSystem32driversetchosts
添加如下内容:
192.168.1.50 dbserver
192.168.1.60 redisserver
🧪 五、网络测试与监控
1. 测试本地访问
curl http://localhost:8080
2. 测试远程访问
从另一台机器上访问:
curl http://192.168.1.100:8080
3. 使用 Telnet 或 Test-NetConnection 测试端口连通性
Test-NetConnection 192.168.1.100 -Port 8080
📊 六、日志和监控建议
- 配置日志记录访问来源 IP、请求时间等信息
- 使用 NetFlow、Wireshark 等工具进行网络流量分析
- 部署 Zabbix、Prometheus + Grafana 监控服务状态
✅ 总结:Java 生产环境网络配置清单
| 项目 | 建议 |
|---|---|
| IP 地址 | 使用静态 IP |
| 防火墙 | 开放所需端口 |
| 绑定地址 | 明确指定或监听 0.0.0.0 |
| 安全协议 | 推荐使用 HTTPS |
| 反向 | 推荐使用 Nginx / IIS |
| 内部通信 | 配置 hosts 或 DNS 解析 |
| 日志与监控 | 启用访问日志,监控网络状态 |
如需根据具体场景(如 Spring Boot + MySQL + Redis 架构)提供详细网络配置方案,请告诉我你的架构图或需求,我可以进一步定制。
云计算HECS