【问题标题】:Can't get faketime to work with nginx无法获得使用 nginx 的 faketime
【发布时间】:2015-01-16 01:50:22
【问题描述】:

我正在尝试使用在 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/profile
  • /etc/profile.d/LD_PRELOAD.sh
  • /etc/default/nginx

任何想法都将不胜感激。

【问题讨论】:

    标签: nginx ubuntu-12.04


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      尝试创建一个 txt 文件(例如:faketime.txt)并在其中给出您想要的时间 例如:2015-06-27 18:30:00

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

      set.default.LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1
      set.default.FAKETIME_TIMESTAMP_FILE=/home/Documents/faketime.txt
      

      【讨论】:

        猜你喜欢
        • 2020-06-03
        • 2018-07-19
        • 1970-01-01
        • 1970-01-01
        • 2020-11-18
        • 2018-03-01
        • 2020-12-17
        • 2012-10-27
        • 2019-03-24
        相关资源
        最近更新 更多