无法使用nginx进行假冒时间

时间:2014-11-18 18:46:52

标签: nginx ubuntu-12.04

我正在尝试使用在ubuntu上运行nginx + php的libfaketime设置伪造服务器时间,但没有运气。

以下是我所做的:

1)安装了faketime:

$ wget http://www.code-wizards.com/projects/libfaketime/libfaketime-0.9.6.tar.gz
$ tar -xvzf libfaketime-0.9.6.tar.gz
$ cd libfaketime-0.9.6
$ make
$ sudo make install 
$ echo "@2012-12-21 12:12:12" > /etc/faketimerc

2)将以下内容添加到我的nginx.conf中:

env LD_PRELOAD="/usr/local/lib/faketime/libfaketime.so.1";

3)重新启动nginx和php。

当我手动导出LD_PRELOAD然后尝试日期时,它可以正常工作,但当我执行 curl localhost 或访问网站时,它获取的实际服务器日期不是来自/ etc /的日期faketimerc

我也尝试过设置LD_PRELOAD:

  • 的/ etc /环境
  • 的/ etc /简档
  • /etc/profile.d/LD_PRELOAD.sh
  • 的/ etc /默认/ nginx的

非常感谢任何想法。

2 个答案:

答案 0 :(得分:0)

尝试为nginx设置LD_PRELOAD(由root设置),而不是为用户的shell设置:

LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 /path/to/nginx

答案 1 :(得分:0)

尝试创建一个txt文件(例如:faketime.txt)并在其中提供您想要的时间 例如:source=.template for i in * ; do cp "$source/File1.bash" "$i" cp "$source/File2.sh" "$i" cp "$source/File3.R" "$i" cp "$source/File4.R" "$i" done

然后将以下命令放在.config文件中

2015-06-27 18:30:00