[英]reverse proxy nginx no such file or directory
我正在嘗試設置啟用 SSL 的 nginx 反向代理。 Nginx 具有 SSL 證書和密鑰。 后端服務器不與 Nginx 進行 SSL 通信(它位於 DMZ 本地網絡設置上,所以我想這沒問題)。
我的問題是:代理pass發生時,錯誤日志顯示很多'沒有這樣的文件或目錄'。 它帶我到后端應用程序的 404 錯誤頁面。
這是一些錯誤行:
2052#2052:*9 open()“/etc/nginx/html/scripts/msptagutils.js”失敗(2:沒有那個文件或目錄),客戶端:189.68.143.17,服務器:www.example.com.br,請求:“GET /scripts/msptagutils.js?build=9301 HTTP/1.1”,主機:www.example.com.br,引薦來源: https : //www.example.com.br/servicedesk/
2052#2052: *9 open() "/etc/nginx/html/style/sdmspstyle.css" failed (2: No such file or directory), client: 189.68.143.17, server: www.example.com.br,請求:“GET /style/sdmspstyle.css?build=9301 HTTP/1.1”,主機:www.example.com.br,引薦來源: https ://www.example.com.br/servicedesk/
2052#2052:*1 open() "/etc/nginx/html/ze/css/gray/ze.min.css" 失敗(2:沒有那個文件或目錄),客戶端:189.68.143.17,服務器:www。 example.com.br,請求:“GET /ze/css/gray/ze.min.css HTTP/1.1”,主機:“www.example.com.br”,引薦來源:“ https://www.example. com.br/servicedesk/ ”
這是 servicedesk.conf 文件:
server {
### server port and name ###
listen 443;
ssl on;
server_name www.example.com.br;
### SSL log files ###
access_log /var/log/nginx/servicedesk-ssl-access.log;
error_log /var/log/nginx/servicedesk-ssl-error.log;
### SSL cert files ###
ssl_certificate /etc/nginx/ssl/www.example.com.br-chained.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.br.key;
### Add SSL specific settings here ###
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
keepalive_timeout 60;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
### We want full access to SSL via backend ###
location /servicedesk {
proxy_pass http://servicedesk-site.example.local;
### force timeouts if one of backend is died ##
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
### Set headers ####
proxy_set_header Accept-Encoding "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
### Most PHP, Python, Rails, Java App can use this header ###
#proxy_set_header X-Forwarded-Proto https;##
#This is better##
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
### By default we don't want to redirect it ####
proxy_redirect off;
}
}
大佬能指點一下方向嗎? 我在做什么錯?
看起來您只是代理對路徑/servicedesk
請求。
日志顯示了對 nginx 嘗試在本地解析的/scripts/msptagutils.js
訪問。 如果 nginx 僅執行 SSL 卸載,則這些請求也應傳遞到后端。 所以只需代理完整路徑/
server {
...
location / {
prox_pass ...
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.