我在 CentOS 7、EasyApache 4 上。我有一些 .htaccess 重写,如下所示:
RewriteRule ^slug/(.*)$ http://mybucket.s3-website-us-east-1.amazonaws.com/slug/$1? [P,L]
为了将对静态文件的请求重写到我的 s3 存储桶。这工作正常,直到我重新启动服务器,然后它停止工作。Apache 正在运行,网站加载,但对 /slug 文件的所有请求都会得到 404。但是,如果我手动重新启动 apache,它会再次开始工作并加载图像。我使用 [P] 标签,以便所有文件都位于我本地服务器上的 SSL 证书下。
知道这里可能发生了什么吗?即使你能提示如何开始排除故障,也会对我有很大帮助。谢谢!
答案1
看起来您的EasyApache
启动是在网络之前进行的。这会导致错误DNS lookup failure
。作为解决方法,您可以在文件中添加 S3 存储桶的地址/etc/hosts
或将其添加After=network.target remote-fs.target nss-lookup.target
到[Unit]
服务文件的部分,以便在网络启动后启动 EasyApache,就像在 Apache 服务文件中所做的那样。