nginx代理tomcat导致css或js加载失败

昨天搭建了一个ngnix代理后端tomcat集群的拖布环境,死活加载不了后端js/css,后在网上折腾了大概一小时左右,终于找到了原因所在
大概的原因就是因为后端节点无法获取到到客户端真实的信息,如IP地址,使用的协议,端口号等,因为后端节点认为的客户端是nginx代理而不是我真正的客户端(浏览器)
解决方法就是添加proxy_set_header信息,改变请求头部的信息,告诉后端节点客户端真实的信息
最总的配置方案就是

[root@LB01 conf]# vim nginx.conf

events {
worker_connections 1024;
}

http {
#http_proxy
proxy_buffer_size 128k;
proxy_buffers 32 128k;
proxy_busy_buffers_size 128k;

upstream tomcat {
server 10.0.0.11:8080;
server 10.0.0.12:8080;
}

server {
listen 8080;
server_name your.domain.com;

   location / {

proxy_pass http://tomcat;
#proxy_params
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

}

}

解释以下上面的配置,以上配置是在Nginx反向代理的时候,添加一些请求Header。

  1. Host包含客户端真实的域名和端口号;
  2. X-Forwarded-Proto表示客户端真实的协议(http还是https);
  3. X-Real-IP表示客户端真实的IP;
  4. X-Forwarded-For这个Header和X-Real-IP类似,但它在多层代理时会包含真实客户端及中间每个代理服务器的IP。

nginx代理tomcat导致css或js加载失败![]

参考链接:https://flyflyfish.com/2018/02/28/nginx代理tomcat导致css或js加载失败/

转载于:https://blog.51cto.com/13268236/2325830

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值