背景:
一个小项目http+https的小项目, 需要配置域名, 因http 和 https服务共存, 所以决定域名后面挂两个不同的LVS, 80端口一个, 443端口一个.
服务框架:
nginx服务挡在前面, 监听80 和 443端口, 请求到来之后, nginx转发给后面的go http server
出现问题:
查看nginx 和 gohttp的log,发现有些请求打不到nginx上, 故而后面的gohttpserver也收不到请求.
问题定位:
域名解析是不区分端口的, client端域名解析后拿到一个lvs, 由于上面的服务配置两个不同的LVS只有80 或 443其中的一个, 所以当一个https请求拿到80端口的LVS时, 服务就会出现错误.
解决措施
LVS同时有80 和 443两个端口