【发布时间】:2021-09-24 18:56:39
【问题描述】:
我为我的网站配置了一个应用程序负载均衡器,然后我制定了 3 条路径规则,这些规则使用 php+linux2+nginx(目标组)指向 3 个不同的 beanstalks:
Application Load Balancer
/blog/* > wordpress-beanstalk
/app/* > app-beanstalk
others > main-beanstalk
到目前为止,每条路由都运行良好,指向各自的 beanstalk 应用程序,主 php 代码正常工作。但是,除了“main-beanstalk”之外,其他应用程序的所有静态文件(css、js等)都没有被提供,返回403、502代码。
我怀疑,例如,当我从“wordpress-beanstalk”访问页面时,css 文件 (mywebsite.com/blog/css/main.css) 是从“main-beanstalk”而不是“wordpress”提供的-beanstalk”,这就是返回错误的原因。因为在这种情况下我也不能使用相对路径。
我还为这些文件夹应用了 chmod -R 664,基本结构如下:
.platform
.exextensions
www
css
js
images
index.php
有了这个假设,我尝试为其他具有变化的应用程序配置静态文件配置(删除斜线等),但仍然不起作用:
option_settings:
aws:elasticbeanstalk:environment:proxy:staticfiles:
"/images/": "/images/"
"/css/": "/css/"
"/js/": "/js/"
"/lib/": "/lib/"
另外,这是我的 location.conf 文件:
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
谁有任何可能的解决方案?
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk