AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-17925

Kzqai's questions

Martin Hope
Kzqai
Asked: 2015-09-05 09:44:59 +0800 CST

PHP 异常导致 nginx 将虚拟主机泄漏到彼此中

  • 0

我的服务器上设置了多个 nginx 虚拟主机。tershronalds.com 正在运行 vanilla wordpress 4.3,而 staging.ninjawars.net 正在运行自定义 php 代码库。两者都依赖于 php5-fpm。

如果没有触发 php 错误或异常,则两个站点似乎都可以正常运行。对于 tershronalds.com wordpress,几乎没有错误或异常,通常没有问题。staging.ninjawars.net 自定义 php 代码库使用 auto_prepend_file 预先加载各种库:

fastcgi_param PHP_VALUE "auto_prepend_file=/path/to/ninjawars/deploy/lib/base.inc.php \n session.cookie_domain=staging.ninjawars.net \n date.timezone=America/New_York \n default_charset=UTF-8 \n";

但是,如果自定义 php 代码库出错或发生异常,则 nginx 开始出现异常!它开始在虚拟主机之间共享配置,破坏 tershronalds.com wordpress 站点:

2015/09/04 13:37:58 [error] 13145#0: *17413 FastCGI sent in stderr:
"PHP message: PHP Fatal error:  Cannot redeclare validate_username() (previously declared in /path/to/ninjawars/deploy/lib/control/lib_auth.php:317) in /path/to/tersh/www/wp-includes/user.php on line 1792" while reading response header from upstream, client: 10.183.252.21, server: tershronalds.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "tershronalds.com"

换句话说,nginx 发疯了,wordpress 网站开始崩溃,因为它包含来自 ninjawars 自定义代码库的代码,导致重复功能!

我曾想过尝试升级 nginx 以解决它,但 nginx 似乎是最新版本,与 php5-fpm 相同(也许)。虚拟主机配置实际上有效并且似乎有效...... ...直到发生 php 错误/异常。我还应该研究什么来尝试解决这种错误行为?

软件版本信息:

apt-cache policy nginx nginx:   Installed: 1.4.6-1ubuntu3.3   Candidate: 1.4.6-1ubuntu3.3   Version table:  *** 1.4.6-1ubuntu3.3 0
        500 http://mirror.rackspace.com/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     1.4.6-1ubuntu3.1 0
        500 http://mirror.rackspace.com/ubuntu/ trusty-security/main amd64 Packages
     1.4.6-1ubuntu3 0
        500 http://mirror.rackspace.com/ubuntu/ trusty/main amd64 Packages admin@megaman:~$ apt-cache policy php5-fpm php5-fpm:   Installed: 5.5.9+dfsg-1ubuntu4.11   Candidate: 5.5.9+dfsg-1ubuntu4.11  Version table:  *** 5.5.9+dfsg-1ubuntu4.11 0
        500 http://mirror.rackspace.com/ubuntu/ trusty-updates/universe amd64 Packages
        500 http://mirror.rackspace.com/ubuntu/ trusty-security/universe amd64 Packages
        100 /var/lib/dpkg/status
     5.5.9+dfsg-1ubuntu4 0
        500 http://mirror.rackspace.com/ubuntu/ trusty/universe amd64 Packages

wordpress 版本是最新的 4.3,我并不认为这是一个相关因素。

编辑如果我关闭这个 nginx 虚拟主机配置,一切正常(当然,除了 staging.ninjawars.net 子域完全关闭)。

Staging.ninjawars.net:

server {
        listen 80;
        server_name staging.ninjawars.net www.ninjawars.net ninjawars.net nw.local nw.remote;

        root /path/to/ninjawars/deploy/www;

        error_page 404 /404.php;

        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/html;
        }

        index index.php;

        location / {
                try_files $uri $uri/ =404; # /index.php?$args;
        }

        location ~ \.php$ {
                fastcgi_param PHP_VALUE "auto_prepend_file=/path/to/ninjawars/deploy/lib/base.inc.php \n session.cookie_domain=staging.ninjawars.net \n date.timezone=America/New_York \n default_charset=UTF-8 \n";
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

这是更长的时间并将所有内容重定向到

无 www,https 域 tershronalds.com 站点:

server {
    listen 80;
    server_name         tershronalds.com;
    return 301          https://tershronalds.com$request_uri;
}
server {
    listen 80;
    server_name         www.tershronalds.com;
    return 301          https://tershronalds.com$request_uri;
}
server {
    listen 80;
    server_name         tershronalds.net www.tershronalds.net tershart.net www.tershart.net;
    return 302          https://tershronalds.com$request_uri;
    # Temporarily redirect these domains for now.
}

server {
    listen 443 ssl;
    server_name tershronalds.com www.tershronalds.com tersh.remote;
    root /path/to/tersh/www;
    index index.php

#   ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers various_cyphers_here
    ssl_certificate /somecrt;
    ssl_certificate_key /somekey;


    #location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        #try_files $uri $uri/ =404;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    #}


    error_page 404 /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    error_page  401  https://tershronalds.com/forbidden.html;

    # Standard wordpress includes !!!
    include global/wordpress.conf;


    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny all;
    }
}
nginx
  • 1 个回答
  • 503 Views
Martin Hope
Kzqai
Asked: 2015-01-31 13:08:40 +0800 CST

设备错误上没有剩余空间,但 df 报告有更多可用空间

  • 8

我使用 Apache2 在我的 Debian 网络服务器上的 PHP 会话mod_php似乎随机失败,说没有空间来编写它们:

sudo tail -60 /var/log/apache2/error.log
[Fri Jan 30 15:55:35 2015] [error] [client xxx.xxx.xxx.xxx] PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: open(/tmp/sess_555555555555555555, O_RDWR) failed: No space left on device (28) in /path/to-first-session-use/core/bootstrap.php on line 18

当我尝试:

ls /tmp

它只是永远挂起,所以这很糟糕。

但是当我检查可用空间并检查 inode 使用是否合理时......

$ df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             150G  121G   22G  85% /
tmpfs                 2.0G     0  2.0G   0% /lib/init/rw
udev                   10M   16K   10M   1% /dev
tmpfs                 2.0G  4.0K  2.0G   1% /dev/shm

$ df -i

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda1            19922944 11143605 8779339   56% /
tmpfs                 513524       4  513520    1% /lib/init/rw
udev                  513524     135  513389    1% /dev
tmpfs                 513524       3  513521    1% /dev/shm

数字看起来不错。当然,85% 比我想要的多,但不是 99% 或任何东西。

我怀疑这是一个问题,因为 5 年没有重新启动机器,并且可能创建了很多小文件,但我得到的 inode 信息有点矛盾。我应该在哪里调查?

编辑:

ls -l /

drwxrwxrwt   4 root root 692M Feb  1 11:09 tmp/
drwxr-xr-x  10 root root 4.0K Jan  1  2013 usr/
drwxr-xr-x  14 root root 4.0K Oct  7  2010 var/
...etc
debian
  • 3 个回答
  • 22844 Views
Martin Hope
Kzqai
Asked: 2015-01-31 10:23:52 +0800 CST

我为同一网络上的 postgres 设置了一个 Web 应用程序服务器和一个单独的服务器。我应该如何保护连接?

  • 0

我正在尝试确定将您自己的独立数据库服务器用于 Web 应用程序的最佳现代实践。我有一个应用服务器,,appserver1(运行 php、nginx 等,没那么重要)和一个数据库服务器;dbserver1(运行 postgresql,这可能无关紧要)。

我想使用命令行psql命令和应用程序数据库连接从appserver1该连接到数据库dbserver1。两者都在机架空间的同一内部网络上,因此连接速度很快。但是,如果它不是标准协议,我不想信任该连接,因此如果有必要进一步保护该连接,我怎样才能最好地保护该连接?

保护连接

我听说过 ssh 隧道,虽然我以前没用过。总的来说,看起来很简单。appserver1我应该从那个点建立一个 ssh 隧道dbserver1,然后我就可以像所有本地主机一样连接吗?否则我的方法应该是什么?

编辑:我可以将服务器设置为只收听 localhost 和 Web 服务器的 ip,还是长期而言这不是一个可维护的解决方案?

ssh-tunnel
  • 1 个回答
  • 683 Views
Martin Hope
Kzqai
Asked: 2014-09-19 13:29:36 +0800 CST

试图拒绝访问 apache /server-status 模块有某些例外,但它到处暴露

  • 2

我打开了 apache 的服务器状态模块,并希望它只能从我自己的 ip 或通过 lynx 文本浏览器浏览时读取到服务器本身。不幸的是,事实证明我能够从其他 ip 读取 /server-status url 的详细信息,而且显然是任何公共 ip。

然而,当我查看允许/拒绝堆栈时,对我来说似乎是正确的。我试图首先否认,然后只允许几个特定的​​位置。我做错了什么?这是我的 httpd.conf

# Uncomment the following lines to enable mod_status support:
#
ExtendedStatus On


# ServerTokens Prod
# Already set in the conf.d/security
#Don't reveal server apache or debian details.

<Location /server-status>
SetHandler server-status

Order Deny,Allow
Deny from all
Allow from localhost, bitlucid.com, 184.106.129.190, 67.247.170.88, 72.230.178.92
</Location>
apache-2.2
  • 1 个回答
  • 69 Views
Martin Hope
Kzqai
Asked: 2013-01-30 06:08:12 +0800 CST

网络服务器上 null 的 408 请求超时数量增加

  • 5

在我的日志监视记录中,这些记录一直在稳步增长:

  408 Request Timeout
      null: 694 Time(s)

在我的网络服务器上。

/var/log/apache2/access.log以下是访问日志中的一些类似贡献请求的内容:

ip - - date requestsfor"-"? httpcode bytes referrer useragent
75.149.117.146 - - [28/Jan/2013:17:49:47 -0500] "-" 408 0 "-" "-"
65.55.215.247 - - [28/Jan/2013:17:57:40 -0500] "-" 408 0 "-" "-"
205.157.206.75 - - [28/Jan/2013:18:00:21 -0500] "-" 408 0 "-" "-"

正常访问请求示例当然有更多相关信息,例如:

ip - - date request-for httpcode bytes referrer useragent
66.251.23.171 - - [28/Jan/2013:17:45:41 -0500] "GET /images/al/al-mb0608tn.jpg HTTP/1.1" 200 4085 "http://example.com/brands.php?F=S&BrandCode=AL" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"

在这里查看我的访问日志的更大样本(有一些正常的 get 请求,其余的都是 408)

我在 ips 上做了反向 IP 查找,它们似乎来自美国和加拿大的不同位置。我想这可能只是意味着涉及代理?有一大块来自:

96.42.74.117 - - [18/Feb/2013:02:55:58 -0500] "-" 408 0 "-" "-"

经常重复。

我犹豫要不要下结论说这是一次攻击而不是错误,但是记录的探测数量大约在同一时间一直在稳步增加,例如logwatch也说

 A total of 125 sites probed the server
    107.22.9.89
    108.132.76.100
    108.172.60.59
    108.226.133.142
    12.166.56.82
    12.54.94.24

....不断地列出对服务器使用检测到的探针的各种ips。列为“探测”服务器的 ips 与访问日志为 null 的 ips 有一些重叠,因此这可能表明存在攻击,但由于服务器必须为请求提供服务,因此很难判断是否合法DOS 请求超时攻击超时,如果这就是这里发生的情况。

我该如何调试这个问题,或者如果是攻击,如何处理这个攻击?

apache-2.2
  • 4 个回答
  • 9627 Views
Martin Hope
Kzqai
Asked: 2012-09-09 12:29:01 +0800 CST

Denyhosts:我应该清除被拒绝的 IP 主机文件吗?

  • 4

这可能不是性能问题,但我有大约 110,000 个 ips 被阻止hosts.deny(2 年的拒绝托管)。我应该清除hosts.deny吗?有没有人对您这样做时发生的事情有任何经验?

logging
  • 1 个回答
  • 351 Views
Martin Hope
Kzqai
Asked: 2012-07-26 14:47:13 +0800 CST

上传图像的适当 linux 权限允许删除和重新上传

  • 0

我应该设置什么权限以及如何允许 apache 覆盖上传的图像,删除它们并重新上传它们,以及允许将基础文件夹的权限传递给新上传的文件(如果这是正确的方法)?

我的图片直接是,例如:/images/subset1/ /images/subset2/ /images/subset3/

非常标准,图像上传到每个子文件夹。

php
  • 1 个回答
  • 1143 Views
Martin Hope
Kzqai
Asked: 2010-04-16 11:50:18 +0800 CST

如何在 postgresql 中访问密码散列?尝试在 ubuntu 中安装 postgresql-contrib,仍然无法访问散列函数

  • 5

所以我试图在 postgresql 中散列一些密码,而我为 postgresql 找到的唯一散列解决方案是 pgcrytpo 包的一部分(http://www.postgresql.org/docs/8.3/static/pgcrypto。 html)应该在 postgresql-contrib (http://www.postgresql.org/docs/8.3/static/contrib.html)中。

所以我安装了 postgresql-contrib,(sudo apt-get install postgresql-contrib),重新启动了我的服务器(作为重新启动 postgresql 的简单方法)。

但是,我仍然无法访问应该在 postgresql-contrib 中的任何散列函数,例如:

ninjawars=# select crypt('global salt' || 'new password' || 'user created date', gen_salt('sha256'));
ERROR:  function gen_salt(unknown) does not exist

ninjawars=# select digest('test', 'sha256') from players limit 1;
ERROR:  function digest(unknown, unknown) does not exist

ninjawars=# select hmac('test', 'sha256') from players limit 1;
ERROR:  function hmac(unknown, unknown) does not exist

那么如何在 ubuntu 上的 postgresql 中散列密码?

ubuntu postgresql
  • 3 个回答
  • 11958 Views
Martin Hope
Kzqai
Asked: 2010-03-17 09:04:47 +0800 CST

sudoer 方案允许对另一个 Web 开发人员进行有用的访问,但仍保留对虚拟服务器的未来控制权?

  • 5

背景:虚拟专用服务器

我有一个虚拟专用服务器,我希望在其上托管多个网站,并提供对另一个 Web 开发人员的访问。我不在乎对他施加太多限制,尽管我不介意将他将开发的站点与我将开发的服务器上的其他站点隔离开来。

问题:保持控制

我想要的主要是确保我将来保留对服务器的控制权。我想保留创建/提升/降级和其他不涉及网络软件的管理功能的能力。例如,如果我让他成为管理员,他可以 sudo su - 并成为 root 并从我那里删除 root 控制权。

我需要他不能:

  • 取消其他管理员权限
  • 更改root密码
  • 控制其他安全/管理功能

我希望他仍然能够:

  • 安装软件(通过 apt-get)
  • 重启阿帕奇
  • 访问mysql
  • 配置mysql/apache
  • 重启
  • 编辑 Web 开发配置类型文件/etc/

其他标准设置将被愉快地考虑

我从来没有真正设置过一个好的 sudoers 文件,所以简单的示例设置会非常有用,即使它们只是与我在上面希望的设置有点相似。

编辑:我还没有最终确定权限,所以标准的、有用的 sudo 设置当然是一个选项,上面的列表更多的是我希望我能做的,我不知道那个设置可以完成。不过,我确信人们之前已经以某种方式解决了这类问题,我想使用一些经过测试的东西,而不是我自己开发的东西。

linux ubuntu web-server sudo
  • 3 个回答
  • 496 Views
Martin Hope
Kzqai
Asked: 2010-03-13 15:02:18 +0800 CST

debian 服务器上 /etc/hostname 中的主机名在哪里使用?

  • 2

我有一个运行多个网站的网络服务器。

当我 ssh 进入时,它给了我一个用户名@localhost.localdomain 的选项卡名称,这是违反直觉的,使这些选项卡看起来像是在我的本地主机上。

我想更改主机名,但我想确保它不会破坏其他任何东西。

那么该主机名字符串用于什么目的,我如何确定它不会影响任何正常运行的系统?

linux ssh hostname
  • 4 个回答
  • 973 Views
Martin Hope
Kzqai
Asked: 2010-03-13 10:35:59 +0800 CST

是否有任何理由以 root 身份安装软件而不是 sudo 以 sudoer 身份安装软件?

  • 2

我正在设置一个运行 Ubuntu Server Edition 的新服务器,我不确定以 root 身份安装大多数基本软件与使用 sudo apt-get install 以管理员用户身份安装基本软件之间有什么区别。

一方面,我不确定在以 root 身份安装软件后,在以用户身份运行软件时是否需要 sudo 访问权限(例如,如果我以 root 身份安装 git)。另一方面,如果我以用户身份安装软件,我可以设想将来我创建的其他用户无法使用它。

这里的最佳做法是什么?

ubuntu debian installation
  • 2 个回答
  • 1371 Views
Martin Hope
Kzqai
Asked: 2010-01-22 11:47:12 +0800 CST

xdebug 是否与 php 5.3 的自定义安装兼容?

  • 0
sudo apt-get install php5-xdebug
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  php5-xdebug: Depends: phpapi-20060613
E: Broken packages
tchalvak:~/sites/loltrading$ apt-cache show phpapi-20060613

有没有办法解决这个问题并在 ubuntu 上使用 php 5.3 运行 xdebug?

ubuntu xdebug php53
  • 1 个回答
  • 550 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve