AWS ALB:侦听器规则找不到静态资源

时间:2019-06-13 09:04:32

标签: amazon-web-services aws-application-load-balancer

我创建了一个应用程序负载平衡器和一个HTTPS侦听器。现在,我想在HTTPS侦听器规则中添加路径规则。当我添加以下路径(规则优先级1)时:
    shinyServer<- function(input,output,session) { observeEvent(input$srcLoc, { removeUI("#done") if (!is.null(input$srcLoc) & is.null(input$srcCity) & is.null(input$destLoc)) { df <- getDf(locsAgg, srcc, destt, srcregg, destregg, regionCountryCity, input$srcLoc, input$srcCity, input$destLoc) if (length(input$srcLoc)>1) { locc <- paste(input$srcLoc, collapse=" -> ") } else { locc <- input$srcLoc } cities <- getCity4(df, locc, srcregg, srcc, regionCountryCity) sc <- sort(cities[!cities %in% c(NA,"NA")]) if (length(sc) > 1) { sc <- as.data.table(sort(cities[!cities %in% c(NA,"NA")])) } destChoice <- unique(getLocs2(df,"S")) destChoice <- destChoice[!destChoice %in% c(NA,"NA")] if (length(destChoice)>1) { destChoice <- as.data.table(destChoice) } updateSelectizeInput(session, "destLoc", choices=destChoice, selected=input$destLoc, options=list(placeholder="Select a Country",maxItems=nDest)) updateSelectizeInput(session, "srcCity", choices=sc, selected=input$srcCity, options=list(placeholder="Select a City",maxItems=nCity)) insertUI("#placeholder",where="afterEnd",ui = } }) }
当我打电话给我     /Staging_app*
它返回索引页,但我为每个静态资源(如javascript文件,css文件,图片)获得404响应。

当我尝试通过以下方式获取资源时:
    [Load Balancer URL]/Staging_app/index.html
我得到了资源。

当我尝试添加以下规则条目时:
    [ECS Fargate Task dynamic IP]/resource.css
我有同样的问题。

该规则转发到ECS分支机构服务目标组。

1 个答案:

答案 0 :(得分:0)

我不能使用侦听器规则通过一个ALB管理我的所有应用程序(不是我想要的方式)。
当我像这样配置侦听器规则时:
/Staging_app*

当我打电话时:
[Load Balancer URL]/Staging_app/index.html

我以为我得到了以下文件/资源​​:
/index.html
/resource.css

但是AWS不会编辑该请求,并且AWS会搜索:
Staging_app/resource.css

但是这个路径不存在。
这个问题帮助我理解了自己的错误:How to tell AWS application load balancer to not forward the path pattern?