CentOS 7.6、Nginx 下的 index.html 和 50x.html 不定期变成初始安装状态的问题

2019-05-27 20:35:51 +08:00
 sinv

腾讯云上的主机,架了一个小网站,近一年来经常不定期地出现奇怪的现象,就是 index.html 和 50x.html 这两个文件无故被替换成初始化的 Welcome 页面的状态,而同路径下的其它页面文件则从未变动。

操作系统:

NGINX:

主机已经设置了 PasswordAuthentication no ,另外查看日志也未发现异常的登录记录。

使用 crontab -uroot -l 查看定时任务只有如下两条,且两个脚本文件内容也很正常。

*/1 * * * * /usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &
0 0 * * * /usr/local/qcloud/YunJing/YDCrontab.sh > /dev/null 2>&1 &

请问各位是否有遇到过同样问题,这种现象可能是什么原因造成的?

2995 次点击
所在节点    NGINX
17 条回复
wtks1
2019-05-27 20:36:56 +08:00
nginx 是 yum 直接安装的吗?
sinv
2019-05-27 20:55:15 +08:00
@wtks1 嗯,是的。
```shell
# tail /var/log/yum.log
May 22 07:30:31 Updated: nginx.x86_64 1:1.17.0-1.el7.ngx
May 24 04:57:54 Updated: php-pear.noarch 1:1.10.9-3.el7.remi
May 27 05:42:34 Updated: nginx-mod-http-geoip.x86_64 1:1.12.2-3.el7
May 27 05:42:35 Updated: nginx-mod-stream.x86_64 1:1.12.2-3.el7
May 27 05:42:35 Updated: nginx-mod-mail.x86_64 1:1.12.2-3.el7
May 27 05:42:35 Updated: nginx-mod-http-xslt-filter.x86_64 1:1.12.2-3.el7
May 27 05:42:35 Updated: nginx-mod-http-image-filter.x86_64 1:1.12.2-3.el7
May 27 05:42:36 Updated: nginx-mod-http-perl.x86_64 1:1.12.2-3.el7
May 27 05:42:36 Updated: nginx-all-modules.noarch 1:1.12.2-3.el7
May 27 05:42:36 Updated: nginx-filesystem.noarch 1:1.12.2-3.el7
```
wtks1
2019-05-27 21:01:45 +08:00
@sinv 这两天好像在哪个帖子里看到说,yum 安装的 nginx 会在升级的时候动网站的目录来着,不知道是不是这样说的,有点记不清了
sinv
2019-05-27 21:08:41 +08:00
@wtks1 谢谢提醒,如果是这样的话,我试着找一找。
KasuganoSoras
2019-05-27 21:15:21 +08:00
硬核解决方法:把这两个文件设置为只读权限就好了
sinv
2019-05-27 21:20:58 +08:00
已调整,观察一年……
qwerthhusn
2019-05-27 21:45:31 +08:00
用 docker 的 nginx 啊
zwh2698
2019-05-27 23:12:38 +08:00
Chattr
msg7086
2019-05-28 01:52:37 +08:00
你是不是改动了安装包自带的文件了?
升级软件的时候可能会给你恢复回去?
sinv
2019-05-28 02:01:32 +08:00
@msg7086 只修改了 /etc/nginx/conf.d/default.conf 文件,增加了 ssl,root location 都是默认的 /usr/share/nginx/html。
Kaiyuan
2019-05-28 02:23:04 +08:00
不要用 default.conf 配置网址,自己建一个 .conf 例如 aaa.com.conf。
msg7086
2019-05-28 03:29:56 +08:00
@sinv
/usr/share/nginx/html 是系统目录吧,应该是不属于你管辖的,里面都是安装包自带的文件。
存在里面的文件都可能被改动,也就是说哪天你升级完以后发现网站整个被删了也不算意料之外。

网站一般是存放在 /var/www 下的。
删掉 default.conf,增加每个网站自己的 conf,指向 /var/www/下不同的目录。
这算是比较标准的做法。
Bardon
2019-05-28 07:32:14 +08:00
这问题,看下 nginx 配置即可
sinv
2019-05-28 12:10:56 +08:00
@msg7086 感谢,按照建议调整了一下,web 数据放到了 /var/www/domain.tld/html 下,后续观察一下。

另外问个额外的问题,https://www.v2ex.com/t/568159,昨天还提了一个网络问题,但是主题列表里始终无法显示,是被隐藏了么,还是怎么?
msg7086
2019-05-28 15:13:41 +08:00
@sinv /t/568159 是关键词触发自动移动。VxN 本身就会被运营商限制,建议考虑其他替代手段。
sinv
2019-05-28 21:25:49 +08:00
@msg7086 哦如此。
目前家里电信宽带下开着 V*N 服务比较稳定,其实更喜欢直接使用 V*N 连回家里局域网,感觉更自然,至少各个终端原生支持,而且目前的状态是联通&移动都能成功连回去,唯独电信链路连接不成功。
下午分别在移动和电信(石家庄)链路下抓了包,发现连接 V*N 的过程中,第一阶段的 6 次 Main mode 以及第二阶段的 3 次 quick mode 都正常,也就是说成功建立了 IPSec SA 对,接下来客户端向服务器端发送了 ESP 数据后,出现问题了,下图是通过移动链路连接成功的数据包,客户端发送 ESP 数据后 [从 1654 开始],成功接收到服务器端返回的数据 [1658]:

而通过电信链路连接时,当客户端发送 ESP 数据后 [从 17 开始],并未接收到服务器端返回的数据,直至超时,见下图:


结合 V*N 可以通过移动及联通链路成功连接的情况判断,猜测应该是石家庄电信的深度包检测发挥了作用,丢弃掉已加密的 ESP 数据。
sinv
2019-05-28 21:27:52 +08:00
#16 看不到图片的同学,请右键图片打开。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/568150

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX