nginx反向代理学习过程中问题及解决总结 |
您所在的位置:网站首页 › nginx反向代理不能返回 › nginx反向代理学习过程中问题及解决总结 |
本文记录的是up自己遇到这些问题的解决方法,目的是让记录供日后学习,有相同问题小伙伴给一个思路,也可以评论私信我。 背景:家里有一台存放数据的NAS,系统为群辉,并且安装了docker,在docker上安装有homeassistant容器,up有自己的域名,家中外网ip是动态ip,之前是花生壳DDNS,后来改了aliyun解析域名(在docker中安装了DDNS) ![]() ,家中普通路由器做的端口映射,可以实现外网通过http方式访问家中NAS和homeassistant。后来因为homeassistant中部署一个服务,实现小爱同学接入homeassistant,接口必须通过https访问,所以,为了签发SSL证书通过HTTPS访问并且更安全,在docker中又部署了let's encrypt,实现自签SSL证书,并且内置反向代理nginx。 /docker/lets_encrypt/dns-conf,这个路径下的aliyun.ini文件access_key和access_key_secret修改,在阿里云DNS解析官网。还有容器80端口和443端口的转发用于SSL签发的验证。 ![]() 过程中出现的几个头疼问题!!!解决方法 设置反向代理后,网址访问返回 ![]() 这个是本地服务名称如果设置错误,不一致,找不到这个服务,就会出现这个问题,具体可以查看nginx的logs。例如你的一个服务config里homeassistant(这个是我的服务名,也就是我docker里容器的名称)和我实际docker中容器的名称不一致例如docker里叫homeassistant1,就会报502。 ![]() 2.在我配置homeassistant反向代理时出现了 400 bad request实际测试发现,请求是已经到了homeassistant,却被拒绝了,查看nginx的logs发现是通过的,是返回了400。查看homeassistant的logs时发现, A request from a reverse proxy was received from 172.18.0.4, but your HTTP integration is not set-up for reverse proxies 实际是收到访问请求后给拒绝了。 解决办法 修改configuration.yaml 添加 http: use_x_forwarded_for: true trusted_proxies: - 172.30.33.1 # 添加访问的ip白名单 各位遇到问题也可以评论,看见了一起研究解答以下。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |