CentOS 7 上服务器重启后,htaccess 代理重写停止工作

CentOS 7 上服务器重启后,htaccess 代理重写停止工作

我在 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 服务文件中所做的那样。

相关内容