根据我的配置,我希望在位置/luz_online_web中提供css和js,只有访问/luz_online_web/*.css或.js的权限才能被proxy_pass到http://110.134.0.20:8085/luz_online_web/。
server {
server_name ~(?<name>[^.]+)\.dev\.abc\.io$;
location / {
proxy_pass http://110.134.0.20:8085/luz_online_web/$name$request_uri;
include /etc/nginx/klara-reverse.conf;
}
location ~* ^/luz_online_web/(.+\.(css|js))$ {
rewrite ^/luz_online_web/(.*)$ /luz_online_web/$1 break;
proxy_pass http://110.134.0.20:8085;
}
}但是当我访问网站时,css和js文件仍然不能加载。CSS、JS文件位于/luz_online_web目录,而其他文件(HTML、PNG..)存储在/luz_online_web/name目录中。如果我删除过滤器并设置位置/luz_online_web/,它们可能会被加载,js文件的路径,例如
/luz_online_web/javax.faces.resource/jsf.js;jsessionid=SnhEULxbunZ9F6OEGRtJrMmy

有什么想法吗?
发布于 2020-04-22 17:43:20
我的问题解决了,我在正则表达式位置的末尾删除了$,因为.css和.js在URL之间而不是结尾。
location ~* ^/luz_online_web/(.+\.(css|js)) {
rewrite ^/luz_online_web/(.*) /luz_online_web/$1 break;
proxy_pass http://110.134.0.20:8085;
}https://stackoverflow.com/questions/61357589
复制相似问题