nginx〉cloudfront dist〉S3 bucket在浏览器中提供文件的奇怪问题,这可以直接命中cloudfront dist,但当试图通过nginx时却不行,只是想知道是否有人遇到过同样的问题?更奇怪的是,它通过nginx短暂地工作,但想知道它是否被缓存了一段时间,出于某种原因,我无法理解它。
Nginx配置如下
location /cdn/ {
# ssl
proxy_ssl_protocols TLSv1.2;
proxy_ssl_server_name on;
# header
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://redacted.cloudfront.net/cdn/aa/;
}
直接击中这个
https://redacted.cloudfront.net/cdn/aa/somefile.js
工作绝对正常,然而,当通过nginx时,我只是不断得到拒绝访问。我可以从nginx日志中看到,它正在通过,我也可以从cloudfront日志中看到403。
nginx url = https://redacted.co.uk/cdn/somefile.js-总是抛出403。
它确实短暂地起了作用,不确定是假阳性还是什么。
Cloudfront Dist的路径模式为/cdn/*,在S3存储桶中,有一个对象“cdn”,后面跟着三个其他对象,例如“aa”、“bb”和“cc”。在这三个对象中,有一个我希望在浏览器中提供的.js文件
我一直在尝试不同的事情与nginx和似乎没有工作,只是想知道是否有人遇到过这个之前?
非常感谢。
1条答案
按热度按时间mlmc2os51#
奇怪地发现,如果cloudfront dist中的替代域与nginx域不同,它将无法工作,确实很奇怪,但已经解决了这个问题。