nginx代理tomcat致使css或js加載失敗

昨天搭建了一個ngnix代理後端tomcat集羣的拖布環境,死活加載不了後端js/css,後在網上折騰了大概一小時左右,終於找到了緣由所在
大概的緣由就是由於後端節點沒法獲取到到客戶端真實的信息,如IP地址,使用的協議,端口號等,由於後端節點認爲的客戶端是nginx代理而不是我真正的客戶端(瀏覽器)
解決方法就是添加proxy_set_header信息,改變請求頭部的信息,告訴後端節點客戶端真實的信息
最總的配置方案就是css

[root@LB01 conf]# vim nginx.confnginx

events {
worker_connections 1024;
}vim

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;tomcat

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;
}服務器

}dom

}ide

解釋如下上面的配置,以上配置是在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加載失敗/

相關文章
相關標籤/搜索