标签: web-server

Postgresql 表删除需要很长时间

我对 Postgresql 和服务器管理有点陌生,所以我不太确定这是否是正常行为。现在我正在尝试删除带有级联选项的表。

我使用的命令是

DROP TABLE library_genre CASCADE;
Run Code Online (Sandbox Code Playgroud)

已经过去半个小时了还是这样

NOTICE:  drop cascades to constraint radio_logs_entry_genre_id_fkey on table logs_entry
Run Code Online (Sandbox Code Playgroud)

我不太确定如何检查数据库有多大,但我无法想象太大。您认为是否可能存在某种腐败导致需要这么长时间?

任何解决这个问题的建议将不胜感激。我应该使用什么样的命令来弄清楚发生了什么?

编辑:新信息

我在尝试删除表之前在 pg_dump 上运行了这个

du -k pg_dump_file
Run Code Online (Sandbox Code Playgroud)

它给了我 27712。但我不确定它返回的数据大小是多少。如果是千字节,则只有 27 兆字节,而且看起来不需要这么长时间的修改。

编辑#2。我跑了 top,看起来 postgres 并没有真正使用太多的 CPU 或内存。

postgresql ubuntu database web-server

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

限制 nginx 每分钟请求数

我想根据单个客户端 IP 地址向我的服务器发出的请求数量设置限制。Nginx 有一个limit_req_zone指令。然而,该指令实际上会限制平均点击率。如果我将限制设置为rate=6r/m,则实际上每 10 秒只允许一次点击。

相反,我需要的是每分钟的实际限制。例如,客户端应该能够快速地相继发出 3 或 4 个请求,甚至同时发出,但每分钟不得超过 10 个。有没有办法做到这一点?

nginx web-server load-balancing apache-2.2

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

从一台服务器而不是另一台服务器连接到 MS SQL 时出错

我们有一个 MS SQL 服务器和两个网站服务器。我正在将所有站点从其中一台网站服务器迁移到新的。

将它们移动到新服务器后,我的 asp.net 站点无法连接到外部 ms sql 服务器。我可以 ping MS SQL 服务器并使用网站服务器的 1433 端口通过 telnet 访问它。

它可以在旧的网站服务器上完美运行,所以我猜测这与新服务器有关。我试图禁用防火墙,但它也没有帮助。

帮助将不胜感激!

我在两个不同的站点(一个运行 .net 2 和另一个运行 .net 4)上收到以下错误:

与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)

异常详细信息:System.Data.SqlClient.SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)

[SqlException (0x80131904): 与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)]
DataAccessManager.ExecuteNonQuery(DbCommand 命令)在 C:\Websites*\App_Code\DataAccessManager.vb:31
InsiteError.Save() 在 C: \Websites*\App_Code\System\InsiteError.vb:89

和

找不到网络路径

异常详细信息:System.ComponentModel.Win32Exception:找不到网络路径

[Win32Exception (0x80004005): 连接尝试失败,因为连接方在一段时间后没有正确响应,或者因为连接的主机没有响应而建立连接失败]

[SqlException (0x80131904): 与 …

iis web-server sql-server windows-server-2012

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

在 IIS 中使用应用程序池身份与本地帐户

我应该强化我们公司开发的 Web 应用程序。为此,我决定为每个网站创建单独的应用程序池。我的问题是使用应用程序池身份是否更安全,还是为每个应用程序池使用单独的本地/域帐户?

iis web-server hardening

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

为什么从 Jetty 9 加载静态文件时,chrome 会显示很长的“阻塞”时间(有时)

从我正在设置的 Jetty 9.2.3 实例加载 Web 资源时,我发现 Chrome 出现了一些奇怪的行为。特别是,我看到一些请求很快返回,而另一些则需要很长时间,Chrome 报告时间为“阻塞”。

在此处输入图片说明

/sf/ask/737617961/表明“阻塞”实际上是本地浏览器运行缓慢的原因到本地资源限制,但是这不会发生在其他 Web 服务器上,也不会发生在不同的客户端机器上。Firefox 似乎表现出同样缓慢的时间(虽然没有说明时间去了哪里),而 curl 似乎总是快速响应

大概这与我如何配置 Jetty 有某种关系,但我对如何进一步研究它感到困惑。

我怎样才能找到这个问题的原因?

performance jetty web-server

5
推荐指数
0
解决办法
3412
查看次数

在顶级域中使用 HSTS 标头和 includeSubdomains 时出现问题

假设我经营一家公司“Example Inc”,并有一个网站:

https://www.example.com

现在,因为出于安全意识,我正在使用 https,并希望设置 HSTS 标头以强制使用它。我还会包含子域名很长一段时间,比如说一年。

严格传输安全:max-age=31536000;包含子域

现在我也是一个优秀的网站所有者,因此我设置了以下 301 重定向到上述网站:

最后一个也有 HSTS 标头及其 https 站点。

据我了解,这是运行 https 网站的推荐设置(显然还有许多其他设置),并且相当常见。

到目前为止,一切都很好。

现在,在公司内部网上,我在互联网上不可用,有大量服务器并使用 example.com 域。所以我有:

  • machine1.example.com
  • machine2.example.com ...等

现在假设其中一些机器运行 Web 服务器,但并非所有机器都是 https。

这是否意味着如果我的任何员工碰巧访问https://example.com那么他们的浏览器将设置 HSTS 标头并拒绝访问任何子域的 http,因此无法再访问其中一些内部 http-仅网络服务器?

这有什么办法吗?

我是否应该通过不使用 includeSubDomains 设置来危及外部网站的安全?至少不在https://example.com网站上?为了内部问题而牺牲外部安全似乎是错误的。

我是否应该强制所有内部应用程序也采用 https?说起来容易做起来难。

我应该在内部使用不同的域吗?例如 machine1.intraexample.com?似乎浪费了一个域,并且某些项目(例如电子邮件服务器)需要位于主域上,尽管如果它们甚至需要运行它们,它们可能仅限于仅 https 的 Web 服务器。

还有其他想法吗?

另外,认为这可能会给公司带来大问题,可能应该在规范和其他地方更多地强调。许多网站所有者没有针对非 www 版本的单独配置,因此可能会无意中在顶级域上设置 includeSubDomain 标志。只是在实施之前想到了这个场景,我才避免了这种情况。我最初会将到期时间设置得很低(一天),以解决这些问题,恕我直言,这也可以更有力地建议。这很容易被忽视,并给许多潜在用户带来奇怪的问题。


编辑 2015 年 6 月 这是一个网站在这个问题上犯错误的真实示例: https: //github.com/NuGet/NuGetGallery/issues/2535


编辑 2015 年 10 月 一篇文章建议您确实应该使用 TLD 的 includeSubDomains 来解决 cookie 中的缺陷: …

man-in-the-middle web-server tls

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

Bash 命令在终端运行,但不在 Jenkins/Bash 脚本中运行

我正在使用 Jenkins 构建 HTML 文档并将其部署到本地 Apache Web 服务器以供我们的开发人员使用。当我在终端中运行命令时,一切都安装正确(证明服务器设置正确)。但是,当从 Jenkins 内部运行相同的命令时,它们会被调用但没有任何变化。它不会删除html.zip(第 18 行),不会将文件移动到 中/var/html/www/subdir,并且不会报告curl请求失败之外的任何错误。我对我做错了什么有点迷茫。

我应该注意,我将整个脚本称为sudo. 我知道这是不安全的,但我想我会先尝试让脚本工作,然后再更改。为了确保user在安装文档时不会遇到问题,我暂时允许它以 sudo 身份运行任何命令而无需密码。同样,我知道这是不安全的,但本着试图消除变量的精神,我添加了这个。

Jenkins 像这样调用这个脚本: sudo ./documentation-publisher.sh

目前对脚本的权限限制最少,777。调用ls -l脚本报告: -rwxrwxrwx 1 devop developers 1144 Dec 3 10:29 documentation-publisher.sh

我尝试了这篇文章中关于在脚本中显式设置路径的建议,但没有发现任何差异。使用的每个命令的显式路径也不会改变行为。

#!/bin/sh -x

echo "Archiving generated HTML for transfer..."
cd Example/docs/html/
zip -r html.zip ./
scp -i ~/.ssh/id_rsa html.zip user@my.host.example.com:/home/user 
ssh -i ~/.ssh/id_rsa user@my.host.example.com 

echo "Extracting generated HTML into www directory..."
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
unzip -o …
Run Code Online (Sandbox Code Playgroud)

scripting bash web-server documentation jenkins

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

网站已关闭但 traceroute 正常,这怎么可能?

我在 BlueHost(“专业”计划)上有一个经常关闭的网站。火狐说:

The connection has timed out

The server is taking too long to respond.
    The site could be temporarily unavailable or too busy. Try again in a few moments.
    If you are unable to load any pages, check your computer's network connection.
    If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.
Run Code Online (Sandbox Code Playgroud)

但是,跟踪路由很好:

  1    <1 ms    <1 ms    <1 ms  speedport.ip [192.168.2.1]
  2    39 ms    40 ms …
Run Code Online (Sandbox Code Playgroud)

internet web-server web traceroute

5
推荐指数
3
解决办法
2872
查看次数

嵌套位置无法正常工作

我不能调试这块nginx的配置:
我想一些头添加到了所有的请求.pdf文件,
然后我想删除一个令牌,我添加到我的教职员目录,以避免不必要的浏览器缓存:

location /static {
    location ~* \.pdf$ {
        add_header Access-Control-Allow-Origin *;
        add_header Content-Disposition 'inline';
    }
    #Remove Anti cache token
    rewrite "^/static[0-9]{10}/(.*)$" /static/$1 last;
    ...
}
Run Code Online (Sandbox Code Playgroud)

没有 nginx 语法错误,但请求.pdffor 显示 404 not found 错误意味着重写不适用于请求。

非常感谢任何帮助
谢谢

configuration nginx web-server

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

Jenkins Web 服务器不响应 Ubuntu/Dell PowerEdge R640 中的 HTTP 请求

我有一个系统(“主机”),使用 LXC(即“来宾”)运行多个容器。我已经在来宾中安装了 Jenkins,它们似乎按预期工作,只是它们不响应请求。(我之前已经成功安装过几次 Jenkins,包括 LXC。)在这种情况下,观察到的问题是内置 Jenkins Web 服务器 (Jetty) 没有响应 HTTP 请求,即使这些请求是从 Jenkins 内部发出的。它运行的非常 LXC 来宾,即指向localhost.

我已经努力解决这个问题好几天了,但没有成功。

这是尝试从以下位置联系 Jenkins Web 服务器时得到的结果localhost:

root@base:~# curl -vI http://localhost:8080/jenkins/
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8080 (#0)
> HEAD /jenkins/ HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.58.0
> Accept: */*
>
Run Code Online (Sandbox Code Playgroud)

在工作设置中,您应该收到 HTTP-403,因为您尚未经过身份验证,并且回复时间不会超过一两秒,但即使几个小时后,也没有响应。Jenkins 日志文件也没有报告任何错误。

我需要帮助来找出根本原因并解决此问题,以便 Jenkins 安装按预期工作并变得可访问。

有关于寻找什么/在哪里来找出并解决这个问题的任何指示?


以下是我已经研究过的一些事情:

  • Jenkins 配置:的配置文件/etc/default/jenkins与我的其他工作设置类似,并且进行了最小的更改(例如仅绑定到本地主机和前缀)。
  • Apache 配置:我查看了 Apache 反向代理配置并与其他工作系统进行了比较,但这不是问题。此外,即使从 LXC …

linux ubuntu web-server lxc jenkins

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