服务器地址在各类配置页面含义差异很大,部分输入框要求纯IP,部分填写域名,还有场景需要完整URL。填写前不要直接复制粘贴,先查看输入框旁边提示文字或者问号帮助说明。填写错误轻则连接失败,重则服务无法启动,故障排查会耗费大量时间。
DNS解析配置,主机记录一般填写@、www或者。@代表主域名,www是带www前缀域名,作为泛解析。记录值区分记录类型,A记录填写服务器公网IP,类似47.98.123.45,不要额外添加http://前缀。CNAME记录填写目标域名,不能填入IP,域名末尾的点号多数场景不用添加,个别服务商有要求,按照后台提示填写。MX记录填写邮件服务商提供地址,优先级数字越小优先级越高。

网站程序配置文件,数据库地址属于高频配置项。数据库和网站部署在同一台服务器,DB_HOST填写127.0.0.1或者localhost。localhost在部分系统优先解析到IPv6地址::1,如果数据库仅监听IPv4,就会连接失败,这类情况直接填写127.0.0.1稳定性更好。数据库部署在内网其他服务器,填写目标机器内网IP,例如172.16.0.8,内网传输不消耗公网带宽,延迟更低。云数据库一般提供内网地址和公网地址,网站和数据库在同一地域,优先选用内网地址。公网地址适合本地调试,正式上线切换回内网。
Docker环境容易踩坑。容器内部127.0.0.1指向容器自身,不是宿主机。数据库部署在宿主机,容器内部连接数据库,填写宿主机内网IP或者docker0网桥地址,通常为172.17.0.1。使用docker-compose编排,直接使用服务名称作为主机名,例如db、redis,compose内置DNS自动完成解析。这个服务名称只在同一个compose网络生效,脱离网络无法识别。
0.0.0.0容易被误解。这个地址写在监听配置内,代表监听本机所有网卡,不能用来发起远程连接,使用0.0.0.0去连接远端服务必然失败。127.0.0.1是回环地址,只允许本机内部访问,外部设备无法接入。内网IP段包含10.x.x.x、172.16.x.x至172.31.x.x、192.168.x.x,只能局域网通信,公网不能直接访问。反过来,内网环境访问公网IP,部分场景会出现路由回流,连接异常,条件允许优先走内网链路。
填写URL时,拆分协议、主机、端口、路径四个部分。协议区分http或者https,主机为域名或者IP,确认端口是否默认,留意路径子目录。80、443默认端口可以省略,非默认端口必须附带,示例http://api.example.com:8080。URL写入IPv6地址,要用方括号包裹,例如http://[2001:db8::1]:8080,不加方括号,冒号会被识别为端口分隔符。路径末尾斜杠也要留意,部分框架对/api和/api/处理逻辑不同,一个触发重定向,另一个直接返回404页面。
反向代理配置,proxy_pass后填写上游服务地址。Nginx配置可以写http://127.0.0.1:3000,也可以用upstream定义后端名称,调用proxy_pass http://backend。这里有个关键点,proxy_pass末尾斜杠有无,会改变路径拼接规则,配置出错会出现路径丢失或者重复拼接。后端部署在子目录,需要同步调整base URL,前端打包publicPath参数也要修改,不然静态资源加载失败。
SSL证书一般绑定域名,不绑定IP。技术层面可以给IP签发证书,但浏览器信任程度低,多数CA机构不再提供这类证书。网站部署HTTPS,准备域名完成解析指向服务器,之后申请证书。CDN配置,源站地址填写服务器公网IP或者源站域名,回源端口默认80或者443,自定义端口需要单独设置。CDN分配CNAME地址,域名解析把www或者@记录指向CNAME,不要直接解析到源站IP,会绕过CDN节点。
小程序和公众号服务器地址审核规则严格。微信小程序request合法域名强制HTTPS,只能填写域名,不能填写IP,不支持附带端口,默认使用443端口。域名需要完成ICP备案,否则无法保存配置。公众号开发服务器地址填写完整URL,Token和EncodingAESKey是独立字段,不要混淆。邮件服务SMTP服务器地址格式一般为smtp.example.com,465端口使用SSL,587端口对应STARTTLS,25端口多数云厂商默认封禁,优先测试其他端口。
FTP配置,地址填写ftp.example.com或者服务器IP,默认端口21,被动模式还需要额外放行一段端口范围。连接失败,先ping域名,确认解析正常,再用telnet测试端口连通性。telnet不通,大概率是防火墙或者安全组没有放行端口,和地址填写错误属于两类问题。数据库连接异常,同样可以用telnet测试3306、6379、5432这类端口,端口连通正常之后再排查账号密码和权限。
开发环境和生产环境服务器地址必须分开管理。配置文件不要硬编码生产数据库地址,改用环境变量或者独立配置文件区分。本地调试使用localhost,测试环境使用内网测试地址,线上环境使用正式域名或者云服务内网端点。项目发布之前核对配置,避免本地地址被带入线上环境。