标签: web-server

什么是适合 Windows 的简单、开放的 Web 服务器?

我正在寻找一个非常简单的 Windows 网络服务器。负载不会很高,因为它将主要为 WPKG 更新服务提供二进制文件。它需要在可配置的(高)端口上通过 HTTP 提供单个文件夹的全部内容。不需要 CGI 或其他脚本,但它可能对未来的功能很好。

我从 Mongoose 开始,因为它甚至没有安装要求(一个非常好的特权),但是作为服务运行时它无法启动。(从技术上讲,它充当它自己的安装程序。)我也调查了 LightTPD,但它似乎在 Windows 上进行了最少(最多)测试。

当然,我正在寻找免费的东西。就像啤酒一样好,但说话更好,一如既往。

编辑:我最初没有提到这一点,但非技术人员将进行安装。他们将拥有我为安装编写的任何脚本,但目标是一个易于排除故障的简单系统。

(我几乎用“什么是最好的......”这个问题的措辞,但 Serverfault 正确地观察到,这是一个主观问题。它真的不是一个优化问题,任何合适的解决方案都可以。我似乎找不到一个用于 Windows。)

windows web-server open-source

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

IIS 仅针对一个域的子域从 http 重写为 https

我有一个运行多个站点的 IIS7 Web 服务器。一些站点是一个域的子域,而其他站点则是完全独立的域。我想使用 IIS 重写将一个域的所有子域站点重定向到 https,但我希望其他域保持原样。例如,我在同一 Web 服务器上有以下站点:

one.test.com, two.test.com, otherdomain.com

我想设置一个全局 IIS 重写以将http://one.test.com和http://two.test.com重定向到 https,但 otherdomain.com 不应该受到影响。

这是我到目前为止所拥有的,当我测试正则表达式时,它似乎是正确的,但它没有重定向子域站点:

<rewrite>
            <globalRules>
                <rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
                    <match url="(.*)(\.test\.com)" />
                    <conditions logicalGrouping="MatchAny">
                    </conditions>
                    <action type="Redirect" url="https://{R1}{R2}" redirectType="SeeOther" />
                </rule>
            </globalRules>
        </rewrite>
Run Code Online (Sandbox Code Playgroud)

我是否过于复杂化或遗漏了一些明显的东西?

干杯。

iis rewrite iis-7 web-server

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

我如何设置一个最小的网络服务器,它只为所有请求提供一个页面?

端口 80 上的最小网络服务器将是

python -m SimpleHTTPServer 80
Run Code Online (Sandbox Code Playgroud)

但我想始终只显示一页maintenance.html,无论请求什么页面。

浏览器中的 url 应该仍然是访问者请求的 url,但没有错误页面。

web-server

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

如何配置 nginx 将所有请求从域别名重定向到主域?

我确实有一个响应多个域的 nginx 服务器,我确实想将所有请求重定向到主域。

例如:网站响应的xxx xxx.example.com yyy.example.com $hostname两个http和https。

我想以这样的方式配置服务器,以便对其他域名的所有请求都将重定向到xxx.example.com.

nginx web-server redirect 301-redirect

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

从静态 web 目录创建 tomcat war 文件

我创建了一个简单的 Web 应用程序,它由一个带有 html、css、js 的目录组成。没有服务器代码。出于复杂的原因,我的管理员坚持将其转换为.war文件,以便在tomcat上轻松部署。同样,该应用程序根本不包含任何 Java 代码。我没有用 ant 或 eclipse 创建它。

我尝试创建一个存档:

jar cvf mywarfile.war *
Run Code Online (Sandbox Code Playgroud)

这确实创建了一个战争文件。但是,当我在 tomcat 上部署此战争时,它似乎不起作用。Tomcat 会自动将 war 文件解压缩到一个目录中,但它不会通过 Web 服务器变为可用。我想这与我的战争不包含目录WEB-INF和META-INF.

有没有一种简单的方法可以将静态客户端 Web 应用程序转换为可部署的战争文件?

tomcat java web-server jsp

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

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

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

找不到 apache 服务器状态

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

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

现在大概这与我如何让 Apache 服务于 Wordpress 安装等有关。该网站位于.htaccess 文件中,根据 Wordpress 说明/var/www/wordpress对index.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
查看次数

我真的需要 PHP maxlifetime 每小时 cron 作业吗?

在我的 Debian Wheezy 上,每半小时运行一次 cron 作业:

find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
Run Code Online (Sandbox Code Playgroud)

这将删除旧的 PHP 状态/会话文件。我想完全放弃这个 cron 工作,或者至少降低它的频率。在以下哪个用例中是可能的?

  1. 没有运行 PHP 代码的服务器
  2. 一个带有 PHP 的奇怪页面的服务器,但没有像 CMS 那样严重
  3. 运行一些 PHP CMS 的服务器,具有用户会话,但页面浏览量不多(比如每月最多 50,000)

maintenance php frequency web-server cron

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

在顶级域中使用 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
查看次数

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万
查看次数