标签: proxy

带有子目录的 Apache VirtualHost 代理

目前,我们有一个 IIS 服务器作为我们的主要 Web 服务器。我们在它的位置实现了一个 Apache 服务器,但仍然需要使 IIS 服务器可以访问。通常,这是一件简单的事情,因为 Apache2 可以将子域代理到此服务器。

然而,我们的问题是:我们在 IIS 服务器上使用 dotnetCharting,并且许可与域名相关联。为了让 dotnetCharting 工作,必须购买另一个许可证。

我的问题是,Apache2 可以代理子目录吗?例如,'www.example.com/subdir' 可以指向 IIS 服务器吗?看起来它不应该是不可能的,但我似乎无法找到解决方案。

proxy directory apache-2.2

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

什么是好的 SQUID 日志分析器?

谁能推荐我一个分析鱿鱼日志的好工具?

我目前正在使用SARG。有什么更好的吗?
我需要轻松查看哪些网站被访问/拒绝、何时以及由谁访问。

有一个鱿鱼分析仪列表。其中一些似乎已经过时。
Squid:日志文件分析

proxy log-files squid http-proxy logparser

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

在代理后面使用 Supermicro IPMI?

这是一个带有 X8DT3 主板的 SuperMicro 服务器,其中包含一个板载 IPMI BMC。在这种情况下,BMC 是Winbond WPCM450)。我相信许多戴尔服务器都使用这种类似的 BMC 模型。

IPMI 的常见做法是将其隔离到私有的、不可路由的网络。在我们的例子中,所有 IPMI 卡都插入了一个位于 192.168.1.0/24 的私有管理 LAN,该 LAN 没有通往外部世界的路由。如果我将笔记本电脑插入 192.168.1.0/24 网络,我可以验证所有 IPMI 功能是否按预期工作,包括远程控制台。

我需要通过某种加密连接从不同的网络访问所有 IPMI 功能。

我尝试了 SSH 端口转发。这适用于少数服务器,但是,我们有近 100 个这样的服务器,并且维护 SSH 客户端配置以在 100 个服务器上转发 6 个端口是不切实际的。

所以我想我会尝试一个SOCKS 代理。这有效,但似乎远程控制台应用程序不遵守我的系统范围代理设置。

  1. 我设置了一个 SOCKS 代理。详细日志记录允许我查看网络活动,以及端口是否正在转发。

    ssh -v -D 3333 stefanl@gateway.example.org
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我将系统配置为使用 SOCKS 代理。我确认 Java 正在使用 SOCKS 代理设置。

  3. SOCKS 代理正在工作。我使用我的网络浏览器通过http://192.168.1.100/连接到 BMC 。我可以登录、查看服务器运行状况、打开或关闭机器等。由于启用了 SSH 详细日志记录,我可以看到进度。

这就是它变得棘手的地方:

  1. 我单击“启动控制台”按钮,该按钮会下载一个名为jviewer.jnlp. JNLP 文件使用 Java Web Start 打开。

  2. Java 窗口打开。标题栏在标题栏中显示“重定向查看器”。有“视频”“键盘”“鼠标”等菜单。这确认Java能够通过代理下载应用程序,并启动应用程序。 …

proxy ipmi supermicro

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

基于 url 参数的 nginx 动态代理

我正在从外部站点加载图像,我想在 3D WebGL 画布中使用这些图像。然而,由于起源,这是不允许的。

我从网页生成的 URL 如下:

http://domain/somename/imagesproxy?url=http%3A%2F%2Fanothersite%2Fimage.png
Run Code Online (Sandbox Code Playgroud)

现在我想proxy_pass假设请求中包含的 URL。

location /somename/imagesproxy {
     proxy_pass  ...
     proxy_set_header  host localhost;
}
Run Code Online (Sandbox Code Playgroud)

如何让 nginx 动态代理到不同的 URL

nginx proxy dynamic

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

帮助我了解如何使用ProxyPass

更新:在玩弄下面的两个答案后,我添加了一个修改后的问题。

你好呀,

如果您正在阅读本文,您可能熟悉 Apache 的 mod_proxy 及其 ProxyPass 功能。像许多其他人一样,我有一个可以从内部网络外部访问的应用程序的问题,但该应用程序本身可以访问不同机器上的其他内部应用程序,当您通过此设置进行远程访问时,事情变得不稳定。

所以,我的设置非常简单,我有:

机器 #1 启用了远程访问,我通过主机名访问它,它会吐出运行在它上面的 PHP 应用程序。

Machine #2 是一个运行 Django 的新应用程序,它使用完全不同的后端(甚至是 auth),它托管在单独的机器上。在我们的 Intranet 中,我们通过一个简单的命名主机名访问它,该主机名基本上链接到内部 192.168.0.101 ip。

我尝试使用 ProxyPass 来设置它,例如,传递到 /new 会将其发送到新应用程序:

ProxyPass /new http://192.168.0.101/

这种工作方式,它将请求发送到另一个应用程序,但它中断了,因为我的 Django 应用程序想要重定向到 /auth/login/,它立即无法识别。如果我自己将 url 修改为 foo.net/new/auth/login,我会得到我的登录页面,但正如您所猜测的那样,在整个浏览过程中这样做并不方便。

那么我怎样才能让 ProxyPass 像我想要的那样工作呢?我是否需要对 Apache 做一些事情,以便它总是在另一个应用程序中的 url 之前写入 /new ,或者这是我应该在我的 Django 应用程序中修改的内容吗?

任何提示和指针也将不胜感激。谢谢你的时间

proxy mod-proxy django proxypass apache-2.2

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

无法让 mod_proxy 正确转发编码的斜杠 (/) 字符 (%2f)

我有一个虚拟主机设置为重定向ntung-gitblit.localhost--> myserver:1279。但是,它不适用于前向编码斜杠 ( %2f)。我试图访问的 URL 是,

http://ntung-gitblit.localhost/ABC%2fXYZ
Run Code Online (Sandbox Code Playgroud)

没有AllowEncodedSlashes,它会失败——apache 尝试/error/HTTP_NOT_FOUND.html.var在服务器上访问。设置AllowEncodedSlashesOn导致以下内部 URL 命中,

http://myserver:1279/ABC/XYZ
Run Code Online (Sandbox Code Playgroud)

并设置AllowEncodedSlashesNoDecode导致以下 URL 被命中,

http://myserver:1279/ABC%252fXYZ
Run Code Online (Sandbox Code Playgroud)

换句话说,它是过度逃逸或逃逸不足。问题:如何让它命中myserver:1279/ABC%2fXYZ

proxy reverse-proxy apache-2.2

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

使用 proxy_pass 时,NGINX 不转发标头值

我有以下设置并配置为将所有 /api 请求发送到不同的服务器:

location /api {
    proxy_pass              https://myapp.herokuapp.com;
    rewrite                 ^/api/(.*)              /$1     break;
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序发送一个标头 (USER_CUSTOMER),当从它工作的应用程序直接与 myapp.herokuapp.com 通信时,但是当通过代理服务器请求时,该值在 API 服务器上显示为 NULL。

以下在 NGINX 中有效,但我需要该应用程序能够设置 USER_CUSTOMER 的值。

location /api {
    proxy_pass              https://app.herokuapp.com;
    proxy_set_header        USER_CUSTOMER           ABC;
    rewrite                 ^/api/(.*)              /$1     break;
}
Run Code Online (Sandbox Code Playgroud)

将来我可能有额外的标头要发送,所以我希望有一个标志可以将所有标头从代理传递到 API 服务器。

Ubuntu
nginx/1.1.19
Run Code Online (Sandbox Code Playgroud)

nginx proxy http-headers

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

重新启动 CouchDB 时如何避免重新启动 Apache 代理

我在Mac 上使用CouchDBX运行本地 CouchDB 实例,使用ProxyPass指令代理在 Apache 2 后面:

<VirtualHost *:80>
    ServerName playlick # points to localhost in /etc/hosts
    DocumentRoot "/Users/james/Sites/playlick"
    ProxyPass /data http://localhost:5984
    ProxyPassReverse /data http://localhost:5984
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

如果我尝试在我的 Couch 实例未运行http://playlick/data时点击它,我会收到503 Service Temporously Unavailable错误,正如预期的那样。

然后我启动 Couch 服务器并点击相同的 URL,但在我重新启动 Apache 代理之前我仍然收到错误消息。

另一方面,如果我点击该 URL之前启动 Couch 实例,则一切正常,无需接触 Apache。

因此,似乎 503 错误已被缓存,直到 Apache 进程重新启动。我如何阻止这种情况发生?

或者,如果这不可能,当我在 CouchDBX GUI 应用程序中启动 Couch 实例时,如何强制 Apache 重新启动?

proxy couchdb apache-2.2

12
推荐指数
1
解决办法
2561
查看次数

Linux 上的 PHP:如何让 PHP 使用代理设置连接到互联网?

我的服务器在局域网中,并通过代理服务器连接到互联网。我的 PHP 应用程序 (Drupal) 应该能够通过 PHP 代码检查更新。如何为PHP设置代理设置以使其正常运行?

注意:我知道我可以在 curl 或其他东西中设置代理设置。但情况是代码不是我的,我不想改变它。我只是想让 PHP 始终通过特定的代理设置连接到互联网。

linux php proxy

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

为选定的用户屏蔽 Facebook

我们这里有一些用户在工作时间使用 Facebook,他们的工作效率很高,作为临时措施,我远程编辑了他们的主机文件以指向 facebook.com 及其各种子域指向回送地址,然后手动在午餐时间发表评论,以便他们可以使用它。

每天对许多用户执行此操作显然有点令人厌烦。

我正在寻找可以按计划自动执行此阻塞的方法。

我在想某种代理服务器,我可以通过组策略将其添加到浏览器上的代理设置中。

有谁知道任何免费或廉价的 Windows 软件解决方案可以做到这一点?或者我可以在 PC/VM 上安装独立的东西?

我想我总是可以编写和安排一些批处理文件来切换一个被阻止的主机文件和一个未被阻止的主机文件。

网络是 Windows 2003 SBS 服务器、Windows XP sp3 工作站、服务器 Netgear DG834 路由器上的单一接口,虽然它确实有一些调度,但它不允许设置一个窗口,只有一个块窗口 - 例如 9-5pm,但我想要在中间打开它。

windows-server-2003 proxy blocking

12
推荐指数
3
解决办法
6717
查看次数