标签: proxy

配置 Apache 使用外部代理进行 HTTPS 连接

我试图让我的 Apache 对 HTTPS 请求使用外部代理:

Listen 80
Listen 443
..
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
..
SSLProxyEngine On
SSLProxyVerify none
SSLCACertificateFile conf/cert/curl-ca-bundle.cert

ProxyRemote http://*.externaldomain.com:80 http://external.proxy.com:8585
ProxyRemote http://*.externaldomain.com:443 https://external.proxy.com:8585
ProxyPass    /sub      https://sub.externaldomain.com/
Run Code Online (Sandbox Code Playgroud)

但是对http://localhost/sub/something 的请求 返回 503 并给出:

[Fri Apr 15 17:38:15 2011] [error] (OS 10060)A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.  : proxy: HTTPS: attempt to connect …
Run Code Online (Sandbox Code Playgroud)

ssl proxy apache-2.2

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

ISP级代理

我们是非洲的 ISP(带宽很贵,每 Mbit 超过 800 美元)。我认为与其投资更多带宽,不如投资于 Web 代理设备。

我更喜欢使用成熟的设备而不是开源工具。BlueCoat 或 BarracudaNetworks 是我的第一选择。

我们目前有 50 Mbits,我们计划在今年年底之前拥有 100 Mbits,我们正在大幅增长。

我的问题是:

  1. 您推荐哪种代理/缓存设备?最好在负载平衡或故障转移上有 2 个。
  2. “网页加速代理”是如何工作的?

networking proxy web cache isp

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

Linux,简单的http代理

我有一台运行在数据中心的 linux 服务器,它有一些额外的带宽和资源。

我想设置一个代理服务,以便我可以通过它从家里路由我所有的 http/https 流量。我知道如何配置我的浏览器与代理交谈,我只是不知道如何设置它的服务器端。我还想进行身份验证,以便只有我可以使用它

linux http proxy

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

IIS 何时记录请求?

这听起来很傻,但他们什么时候记录请求?我有一个 Web 应用程序,以及大约 500 个将加载该应用程序的 HTTP 代理。但问题是有时(今天早上很多),代理(使用 php 套接字)认为它已连接并且返回的响应是空白的。

但是 IIS 没有此请求的日志。

IIS 何时记录请求?是否会拒绝连接,甚至不处理请求?

iis proxy logging

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

如何使用 iptables 创建 UDP 代理

我有一台在端口 50000 上运行 UDP 服务器的服务器。该服务器接收来自客户端的更新,并每 5 秒将客户端 ping 回客户端连接到的套接字。

现在我想通过另一台服务器重定向进出该 UDP 服务器的所有流量。基本上我想在这台服务器前面设置一个透明代理。原因是我希望能够轻松控制哪个服务器处理 UDP 流量,而无需更改 DNS 设置。

起初我尝试使用 socat 创建这个代理:

socat UDP-LISTEN:50000,fork UDP:myserver:50000

但这对于传入流量似乎很有效,但是从我的服务器到客户端的返回流量没有到达目的地。此外,似乎 socat 为每个连接分叉了另一个进程,因此当客户端断开连接/切换 IP 时,我可能会遇到太多进程和死进程。

我意识到我可以为此使用 iptables NAT 功能,但它似乎对我不起作用。我试过的配置是:

sudo iptables -t nat -A PREROUTING -p udp --dport 50000 -j DNAT --to-destination myserver:50000

但它似乎不起作用——我什至看不到我服务器上的连接。我不确定是由于配置错误还是由于其他一些问题。

一些问题:

  1. 添加 nat 配置后,是否需要以某种方式重新启动 iptables?
  2. 我是否需要允许传入端口的流量或具有 NAT 设置就足够了?

更新:实际处理流量的服务器与我尝试在其上设置 iptables 的机器位于不同的机器上。

ubuntu proxy iptables udp

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

Nginx 设置前清除 X-Forwarded-For

在设置自己的头文件之前,我可以在 nginx 配置中使用什么来清除任何现有的 X-Forwarded-For 头文件?我目前正在使用 Nginx 在将流量传递到 HAProxy 以进行负载平衡之前终止 SSL。

现在,我有:

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Run Code Online (Sandbox Code Playgroud)

但是,这会将新的 IP 地址附加到任何现有 X-Forwarded-For IP 地址的末尾。有没有办法只保留Nginx看到的地址?

ssl nginx proxy x-forwarded-for

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

Nginx 在使用 https 访问时从错误的“虚拟主机”提供内容

我有一个在代理设置中同时运行 Nginx 和 Apache 的服务器,Nginx 提供静态内容,Apache 提供动态内容,效果非常好。

此设置当前托管同一个站点的两个版本,我们称它们为 production.com 和 staging.com。

我刚刚使用 SSL 完成了 production.com 站点的设置,这也很有效,但我发现如果我也使用 SSL 浏览到 staging.com,我将获得 production.com 网站根目录的内容,这显然是错误的。

有人告诉我对 SSL 和非 SSL 使用默认处理程序,这将消除这种行为,但这就是我遇到麻烦的地方。

现在我在 nginx.conf 中包含了这个配置

default_80.conf
server {
    listen 80;
    server_name "";
    return 444;
}
Run Code Online (Sandbox Code Playgroud) default_443.conf
server {
    listen 443 default_server ssl;
    server_name "";
    return 444;
}
Run Code Online (Sandbox Code Playgroud) staging.com.conf
server {

    listen 80;
    server_name staging.com;
    access_log /var/log/nginx/staging.com.log;

    # static content folders
    location ^~ /(images|css|js) {
            root /var/www/staging.com/current;
            access_log /var/log/nginx/staging.com.static.log;
    }

    # static content files
    location ~* \.(js|css|rdf|xml|ico|txt|jpg|gif|png|jpeg)$ …
Run Code Online (Sandbox Code Playgroud)

ssl nginx proxy openssl apache-2.2

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

Nginx : 在 HTTP 上剥离标头,在 HTTPS 上添加标头

我正在配置 Nginx 服务器,以便作为反向代理为 Django 应用程序(在 Gunicorn 上运行)提供服务。

我的问题是我希望我的网站使用 HTTPS 进行保护,因此我希望我的 Django 应用程序能够确定连接是否安全。我使用的是 Django 1.4,所以我可以访问SECURE_PROXY_SSL_HEADER我配置为SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https').

现在,正如文档中提到的,我需要确保 Nginx 仅在需要时添加标头,而在不需要时将其剥离。因为我希望我的 Nginx 配置尽可能 DRY,所以我不想有两个配置文件(一个用于端口 80,一个用于端口 443)。

因此,我想知道 Nginx 中是否有一种方法可以确定连接是否为 https,并相应地添加(或剥离)标头。

ssl nginx proxy web-applications http-headers

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

在 Squid 中限制每个 IP 地址的带宽

我安装了 Squid 3.1.18。我想将任何 IP 可以使用的最大带宽限制为 128 Kbps。可以使用鱿鱼吗?

我没有使用鱿鱼身份验证,因此无法识别用户和设置限制。需要一些方法来限制连接到鱿鱼的本地 IP 地址访问 Web。

linux proxy squid bandwidth-control

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

Tomcat 上的反向代理

我有一个 Tomcat 应用程序。我现在想要将某些页面反向代理到在不同端口上侦听的不同服务器。在常规的 apache 服务器上,我会执行以下操作。

ProxyPass /dir1 http://localhost:1234/dir1

ProxyPassReverse /dir1 http://localhost:1234/dir1
Run Code Online (Sandbox Code Playgroud)

这会将 dir1 下的所有 URL 传递给侦听端口 1234 的其他服务器。我将如何在 Tomcat 上做同样的事情?

请注意,我的服务器仅运行 Tomcat 和 Java。我没有在我的设置中运行 Apache。端口 1234 上的服务器是独立的,而不是 Apache 或 Tomcat。

tomcat proxy reverse-proxy

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