nginx代理出現靜態資源讀取不到
原因:讀取到是nginx伺服器地址下的靜態資源,而非被代理伺服器的靜態資源。
解決:設定如下,形似動靜分離
# 反向代理時,靜態資原始檔讀取地址不是實際伺服器地址,而是nginx的地址,需要如下配置才能真正讀取到靜態資源
location ~ .* {
proxy_pass http://192.168.93.105;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Fonwarded-For $proxy_add_x_forwarded_for;
}
主要作用是 proxy_set_header Host $http_host 中 $http_host,如果 $host 依舊不會有效。該處原因暫未明確
2、反向代理可以直接在location 中指定 proxy_pass http://192.168.93.105:8082; 或者 通過 upstream domain 指定服務組,然後指定服務組名(domain)進行代理:proxy_pass http://server_8082; 。
location / {
# 反向代理。負載均衡可通過upstream設定多個伺服器
proxy_pass http://server_8082;
# proxy_pass http://192.168.93.105:8082;
# 下面幾個配置,意思是將http頭轉發給後端應用,不然你後端應用服務拿客戶端IP地址的時候拿到的是nginx代理的地址而不是客戶端的。
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#root html;
index index.html index.htm;
}
綜合
# 設定負載伺服器池(服務組),如果有域名採用域名作為名稱
upstream server_8082 {
server 192.168.93.105:8082 weight=2;
#server 192.168.0.105:8083 weight=1;
}
server {
listen 8082;
server_name localhost;
location / {
# 反向代理。負載均衡可通過upstream設定多個伺服器
proxy_pass http://server_8082;
# proxy_pass http://192.168.93.105:8082;
# 下面幾個配置,意思是將http頭轉發給後端應用,不然你後端應用服務拿客戶端IP地址的時候拿到的是nginx代理的地址而不是客戶端的。
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#root html;
index index.html index.htm;
}
# 反向代理時,靜態資原始檔讀取地址不是實際伺服器地址,而是nginx的地址,需要如下配置才能真正讀取到靜態資源
location ~ .* {
proxy_pass http://server_8082;
# proxy_pass http://192.168.93.105:8082;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Fonwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
相關文章
- Node讀取靜態資源
- 【Nginx】Nginx部署前端靜態資源Nginx前端
- 008.Nginx靜態資源Nginx
- 如何在nginx配置靜態資源Nginx
- Nginx靜態資源伺服器配置Nginx伺服器
- Nginx服務系列——靜態資源web服務NginxWeb
- nginx 代理圖片、css、js等靜態資源NginxCSSJS
- 靜態資源跨域解決辦法--nginx跨域Nginx
- Web靜態資源快取及優化Web快取優化
- 工程化——前端靜態資源快取策略前端快取
- service worker 對靜態資源進行快取快取
- Nginx學習之從零搭建靜態資源網站Nginx網站
- 靜態資源管理
- 循序漸進nginx(二):反向代理、負載均衡、快取服務、靜態資源訪問Nginx負載快取
- 前端web:瀏覽器靜態資源快取策略前端Web瀏覽器快取
- QTcpServer實現web靜態資源服務QTTCPServerWeb
- 好程式設計師Java教程分享Nginx靜態資源部署程式設計師JavaNginx
- Nginx同一個server部署多個靜態資源目錄NginxServer
- 03 #### 讀取靜態檔案-圖片
- webpack 靜態資源管理Web
- 靜態資源公共庫
- Web靜態資源加速Web
- WPF:靜態、動態資源以及資源詞典
- Hummingbird - WordPress快取、靜態資源合併、加速外掛快取
- Nginx靜態服務Nginx
- thinkphp Nginx偽靜態PHPNginx
- WordPress引用靜態資源方法
- 靜態資源伺服器伺服器
- SpringBoot處理靜態資源Spring Boot
- SpringBoot靜態資源訪問Spring Boot
- Nginx配置靜態代理/靜態資源對映時root與alias的區別,帶字首對映用aliasNginx
- 使用nginx快取伺服器上的靜態檔案Nginx快取伺服器
- Nginx 部署靜態頁面Nginx
- nginx偽靜態檔案Nginx
- springboot+themeleaf+bootstrap訪問靜態資源/無法訪問靜態資源/圖片Spring Boot
- 《前端運維》二、Nginx--3靜態資源服務、跨域與其他前端運維Nginx跨域
- Spring Boot 靜態資源配置 A卷Spring Boot
- 前端靜態資源快取最優解以及max-age的陷阱前端快取