a网站nginx反向代理b网站,问题在于b网站的静态地址访问路径为 /static/style/bootstrap.min.css
这样会导致静态文件访问变成了 a网站域名/static/style/bootstrap.min.css 实际上 bootstrap.min.css 属于b网站,于是404出现了
我以 /gongju/ 作为反向代理的识别
a网站nginx反向代理修改如下
location ^~ /gongju/ { proxy_pass http://b网站/; proxy_set_header host $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; # 修复重定向路径 proxy_redirect ~^/(.*)$ /gongju/$1; sub_filter_once off; sub_filter_types *; # 1. html/js/css 常见路径格式 sub_filter '="/' '="/gongju/'; sub_filter "='/" "='/gongju/"; sub_filter 'url(/' 'url(/gongju/'; sub_filter 'url("/' 'url("/gongju/'; sub_filter "url('/" "url('/gongju/"; sub_filter 'src="/' 'src="/gongju/'; sub_filter "src='/" "src='/gongju/"; sub_filter 'href="/' 'href=" rel="external nofollow" /gongju/'; sub_filter "href='/" "href='/gongju/"; sub_filter 'action="/' 'action="/gongju/'; sub_filter "action='/" "action='/gongju/"; # 2. js中拼接路径的字符串 sub_filter '"/api' '"/gongju/api'; sub_filter "'/api" "'/gongju/api"; sub_filter '"/static' '"/gongju/static'; sub_filter "'/static" "'/gongju/static"; # 3. 后端返回中的硬编码链接 sub_filter 'http://b网站' '$scheme://$host/gongju'; }
到此这篇关于nginx反向代理出现静态文件404异常处理的文章就介绍到这了,更多相关nginx 反向代理静态文件404内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论