小编mas*_*oeh的帖子

在与 nobody 不同的用户下运行 postfix 管道命令

我目前正在将电子邮件管道设置为其他人无法访问的目录中的 PHP 脚本(设置为 750)。Postfix 在用户 'nobody' 下运行管道命令,该用户自然无法访问该脚本。我对向该文件夹添加执行权限有点犹豫,因为我不希望其他用户能够访问它(即使他们不知道路径)。所以,我想要的是让管道命令在不同的用户下运行,该用户可以访问该文件夹。

我要执行此操作的服务器已安装 Virtualmin。我已经使用 Virtualmin 设置了所有内容,包括提供给 PHP 脚本的别名。Virtualmin 论坛上有几个关于这个问题的帖子,但除了让其他人可以执行文件夹之外,还没有解决方案。

那么,我怎样才能让管道命令在不同的用户下运行而不是没有人呢?

postfix

5
推荐指数
1
解决办法
4135
查看次数

如何记录 FTP 用户使用 Pure-FTPD 和 Apache 执行的操作?

我有一个带有 Apache 和 Pure-FTPD 的 VPS,我想知道是否可以记录 FTP 用户所做的每个操作(例如查看文件和编辑它们)?如果这是可能的,请告诉我如何做到这一点。

logging ftp pureftpd

5
推荐指数
1
解决办法
2万
查看次数

对于 IIS7.5 网络服务器,是否可以有多个 ReWrite 规则都执行相同的操作?

我的 IIS7.5 站点有很好的重写模块。

现在,我希望添加一些 URL,它们都进入 HTTP 410-Gone 状态。

例如。

<rule name="Old Site = image1" patternSyntax="ExactMatch" stopProcessing="true">
  <match url="image/loading_large.gif"/>
  <match url="image/aaa.gif"/>
  <match url="image/bbb.gif"/>
  <match url="image/ccc.gif"/>
  <action type="CustomResponse" statusCode="410"
            statusReason="Gone"
            statusDescription="The requested resource is no longer available" />
</rule>
Run Code Online (Sandbox Code Playgroud)

但这是无效的 - 网站没有开始说有重写配置错误。

还有另一种方法可以做到这一点吗?我并不特别想为每个URL定义一个 URL 和 ACTION 。

iis rewrite iis-7.5

5
推荐指数
1
解决办法
5857
查看次数

基于位置的 Web 服务器路由

我有一个网站,有来自香港和澳大利亚的用户。

不幸的是,由于服务器位于澳大利亚,来自香港的用户会遇到延迟问题。在返回澳大利亚之前,交通必须经过美国。

所以我也在香港设置了一个服务器,使用 .hk TLD 的用户将被重定向到香港的网络服务器。它与澳大利亚服务器共享同一数据库服务器,但由于积极的 SQL 查询缓存,SQL 查询延迟对性能的影响可以忽略不计。

但是对于习惯了香港网站但后来前往澳大利亚的用户来说,他们会遭受额外的延迟,因为即使他们在澳大利亚,他们也会访问重定向到香港服务器的 .hk 网站。该网站面向来自香港的国际学生,所以这对我来说是一个重要的问题。

我如何根据用户的位置重定向用户,而不是根据 TLD 将用户重定向到最近的 Web 服务器?

目前我正在使用 nginx、postgres 和 Django。假设我知道如何根据用户的 IP 地址估计用户的位置,我下一步要做什么?我会在什么水平上工作?我应该阅读什么主题?

nginx django

5
推荐指数
1
解决办法
1043
查看次数

Apache 服务器状态返回 404,然后重定向到我的 Wordpress 安装

我试图让 Munin 的各种 Apachie 插件在我的网络服务器上工作,但我遇到了问题。在要求 Munin 检查可用插件时,三个 Apache 插件中的两个返回一个错误说

找不到 apache 服务器状态

我已经mod_status打开等,据我所知,一切都设置正确。

我尝试打开localhost/server-statususing Lynx,此时我收到 404 错误并显示我的 Wordpress 错误页面(当您尝试访问不存在的页面时获得的页面。)

现在大概这与我如何让 Apache 服务于 Wordpress 安装等有关。该网站位于.htaccess 文件中,根据 Wordpress 说明/var/www/wordpressindex.php文件进行了上一级修改。它工作正常,但我有一种琐碎的感觉,当 Munin/Lynx 尝试加载 localhost/server-status 时,它正在/var/www/.

那么,在请求服务器状态时,如何告诉 Apache 实际查看的位置?


这是我的 httpd.conf 文件。

ServerName localhost



<VirtualHost *:80>
ServerName oliverhaslam.com
ServerAlias oliverhaslam.com
DocumentRoot /var/www/wordpress/
</VirtualHost>


<VirtualHost *:80>
ServerName ojhaslam.co.uk
ServerAlias ojhaslam.co.uk
DocumentRoot /var/sites/photo365/
</VirtualHost>

<VirtualHost *:80>
ServerName www.ojhaslam.co.uk
ServerAlias www.ojhaslam.co.uk
RedirectMatch permanent /(.*) http://ojhaslam.co.uk/$1
DocumentRoot /var/sites/photo365/ …
Run Code Online (Sandbox Code Playgroud)

web-server .htaccess apache-2.2

5
推荐指数
1
解决办法
9206
查看次数

地理分布的 Web 应用程序如何处理存储的数据?

假设......我从澳大利亚登录到一个网络应用程序并更改了一些数据。在美国,我的同事正在使用相同的系统,并希望查看我更改的数据。如何在本地为澳大利亚用户部署 Web 应用程序,为美国用户本地部署(为了性能)但共享数据?

Google、Facebook 或任何其他全球系统如何为不同国家/地区的用户提高性能,但仍保持数据同步,以防用户前往不同地点或在全球范围内使用数据。或者他们实际上是否在一个位置拥有他们的数据库服务器?

iis cloud web-server load-balancing

5
推荐指数
1
解决办法
2902
查看次数

SSH远程执行带有特殊字符的命令

我在通过包含特殊字符的 SSH 执行远程命令时遇到问题。我正在尝试从 MySQL 导出数据库以进行备份。这是我在本地脚本中的命令:

#!/bin/bash
ssh user@host "mysqldump -u dbname -p'p$ssw0rd' --lock-tables=false dbname > ~/sites/mysite/backup/dbname.sql"
Run Code Online (Sandbox Code Playgroud)

如您所见,我在密码周围使用了 ' 字符。当我执行此脚本时,出现以下错误:

mysqldump: Got error: 1045: Access denied for user 'dbname'@'localhost' (using password: YES) when trying to connect
Run Code Online (Sandbox Code Playgroud)

但是,当我手动 ssh 进入机器并执行命令时,它执行得很好。我的印象是通过 ssh 执行命令会丢失一些东西并且密码没有通过。

如何通过 ssh 执行带有特殊字符的命令?

mysql remote-access ssh

5
推荐指数
1
解决办法
8316
查看次数

有什么方法可以确定域 DNS 记录(如 MX 记录)的发布日期?

我们需要一种方法来确定何时为域发布了 DNS 记录(例如 MX)。有人有线索吗?

domain-name-system mx-record

5
推荐指数
1
解决办法
1万
查看次数

使用 nginx:从公共 IP 请求时需要身份验证,本地时不需要

我编写了一个简单的文件浏览器应用程序,它使用端口 3000 上的节点提供服务。我使用 nginx 作为代理此服务的前端。这是在我的家庭服务器上。

当我通过公共 IP 访问它时,我希望能够要求基本的 HTTP 身份验证,但当我在家时则不需要。我有这个配置:

location /files {
  satisfy any;
  allow 10.1.0.0/24;
  deny all;
  auth_basic "Authentication Required";
  auth_basic_user_file /etc/access_list;
  proxy_pass http://127.0.0.1:3000/;
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用。当我在同一个子网上的家庭网络上时,它仍然需要我进行基本的 HTTP 身份验证。我曾认为“允许>拒绝>身份验证”与“满足任何”配对的顺序是正确的。我在这里做错了什么吗?这可能吗?

nginx http-basic-authentication

5
推荐指数
1
解决办法
1903
查看次数

每次调用 smtp 服务器时,我所有应用程序中的超时错误

在我的 VPS(带有 Ubuntu 12.04 LTS的tophost.it “TopServer”)上,几天前我所有的应用程序都无法发送电子邮件。我可以从日志中了解到每个请求都会超时。

然后我尝试从终端简单地调用telnet smtp.gmail.com 587,我注意到以下异常:而在其他所有运行良好的服务器上,答案只需要几毫秒来处理,并且很简单

Trying 173.194.65.109...
Connected to gmail-smtp-msa.l.google.com.
Run Code Online (Sandbox Code Playgroud)

在有问题的 VPS 上,答案是

Trying 2a00:1450:4013:c01::6c...
Run Code Online (Sandbox Code Playgroud)

..并且仅在大约一分钟后(我猜在此期间应用程序将超时)......它最终说:

Trying 74.125.136.108...
Connected to smtp.gmail.com.
Run Code Online (Sandbox Code Playgroud)

那么这里发生了什么?为什么它之前尝试使用 IPv6,并且仅在几秒钟之后尝试使用正确的 IPv4?如何修复此行为以避免超时错误?

email smtp timeout

5
推荐指数
1
解决办法
3804
查看次数