标签: proxy

SSH 端口转发 -D 不再工作

我在美国有一个虚拟服务器。当我第一次设置它时,我能够使用动态端口转发

ssh -D PORTNUMBER serveraddress
Run Code Online (Sandbox Code Playgroud)

之后我可以设置 Firefox 将其用作 SOCKS5 代理。我不知道发生了什么变化,但由于某种原因,它不再起作用了。

是否有一个地方可以设置是否允许隧道?我尝试了 ssh_config 文件,实际上有一个

Tunnel yes/no
Run Code Online (Sandbox Code Playgroud)

选项,但即使将其切换为 yes 并重新启动后,它也没有改变任何东西。

我应该去哪里看?

编辑(01:41 GMT+1):带有-vvv选项的输出相当长,因此将其上传到pastebin。我希望删除所有敏感数据: http://pastebin.com/r4BVC5F1

编辑(02:13 GMT+1):新输出文件:http ://pastebin.com/VvPVv0ff

我在配置文件中添加了“PermitTunnel”选项,现在我可以使用 -vvv active 登录。但是代理仍然无法工作。我没有更改客户端的设置,至少据我所知没有更改。是的,我使用的是 Mac OSX。

编辑(09:45 GMT+1):这可能与混乱的主机名有关吗?或者可能是但丁或鱿鱼配置相互引用?我真的不知道,为什么它不再起作用了......

最后编辑:好吧,我只是很愚蠢!严重地。一切都很好。问题是我在 SOCKS 服务器设置中输入了服务器的 IP 地址。这不可能行得通。localhost 当然是正确的答案。该死...浪费了这么多时间...谢谢大家!

ssh proxy port-forwarding apache-2.2

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

Nginx 动态上游配置/路由

我正在尝试 nginx 的动态上游配置,但找不到任何好的解决方案来实现来自第三方源(如 redis 或 mysql)的上游配置。

其背后的想法是在主服务器中拥有单个文件配置,并根据环境条件将请求代理到各种应用程序服务器。考虑一下动态部署,其中有 X 个服务器在不同端口上运行 Y 个工作线程。例如,我创建一个新应用程序并部署。应用程序管理器选择一个服务器,然后推出一个工作程序(Ruby/PHP/Python),然后将 ip:port 报告给中央数据库,状态为“up”。此时,当我转到给定的 url 时,nginx 应该将所有请求代理到指定的 ip:port 上游。整个事情与 Heroku 所做的非常相似,除了这个概念验证不应该准备好生产,主要是为了内部需求。

我发现的最简单的解决方案是使用带有基于 ruby​​ 的 DNS 服务器的解析器。它可以工作,nginx 正确获取 IP 地址,但唯一的问题是您无法为该 IP 定义端口号。

第二个解决方案(我还没有尝试过)是使用其他东西作为代理服务器,可能是用 Erlang 编写的。在这种情况下,我们需要使用一些东西来提供静态内容。

有什么想法如何以更灵活和稳定的方式实现这一点?

PS 一些研究选择:

nginx proxy redis dynamic-routing

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

多个 Nginx 服务器是否使用 ip_hash 指令将相同的 IP 地址负载平衡到相同的后端?

我有两台独立的 Nginx 机器。该域使用循环 DNS 并具有两个 A 记录,每个 A 记录对应两个前端 Nginx 服务器。

两个 Nginx 服务器都使用ip_hash指令并代理请求到相同的后端服务器。

前往第一个 Nginx 服务器的 IP 地址是否始终会路由至与前往另一个 Nginx 服务器的相同 IP 地址相同的后端服务器?

这可能会有所帮助:What IP does nginx use for ip_hash StickySessions?

linux nginx proxy load-balancing hash

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

在同一数据中心的不同虚拟机上对多个 sock5 代理进行负载平衡的最佳方法是什么?

我目前正在尝试找出为我的新项目负载平衡多个 sock 5 代理服务器的最佳方法。我正在研究像 HA 代理这样的程序,但它似乎只对 HTTP 代理进行负载平衡,对于这个项目我需要 Sock5。我研究了 DNS 循环,但我还没有找到一种方法可以让它立即故障转移到其他服务器之一或将它们从轮换中删除。我还发现,当一台服务器离线时,TTL 更新速度不够快,无法无缝切换到另一台服务器。这确实困扰了我一段时间,我发现很难解释我的情况,因为我在负载平衡和防止用户失败方面缺乏经验,因为我的项目最近才获得关注。如果我刚刚发布的内容似乎没有意义,我在下面制作了一个图表来说明我正在尝试配置的内容。

所以基本上我正在寻找的是一种解决方案,可以有效地平衡 sock5 代理的负载,同时删除离线的服务器。 http://puu.sh/3mLvL/6ef73d46d4.png

proxy load-balancing haproxy load-balance

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

将单个 docker 容器透明代理到另一个 docker 容器

我在主机上运行了一对 docker 容器,这些容器一起使我的应用程序得以实现。因此,对于我的应用程序的每次迭代/实例,都需要运行一对 docker 容器。到目前为止,我在运行第二个容器时使用 --link 参数来链接第一个容器,并从主机文件中获取第一个容器的 IP 以便以编程方式使用它。

现在,我需要为第二个 docker 容器设置透明代理。这样,第二个容器的所有 http(端口 80)流量都应该通过第一个容器的端口 8080。

第一个容器 IP:172.17.0.4 (在端口8080上运行代理服务)。第二个容器IP:172.17.0.6(有浏览器等客户端工具)。我想将172.17.0.6的所有 http 流量(端口80)转发到172.17.0.4的端口8080

即)流量到 172.17.0.4 的 80 <---> 172.17.0.6 的 8080

我尝试在第二个容器中添加 iptables 规则以进行上述配置。但它们都不起作用。

~# sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 172.17.0.4:8080
Run Code Online (Sandbox Code Playgroud)

不起作用。

~# sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 172.17.0.4:8080
Run Code Online (Sandbox Code Playgroud)

不起作用。

~# sudo …
Run Code Online (Sandbox Code Playgroud)

proxy iptables transparent-proxy containers docker

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

检查失败后 HAProxy 无法恢复

全部,

我遇到了 HAProxy 在后端服务器重新启动后无法恢复的问题。我没有使用代理进行负载平衡,而是将不同的 URL 定向到不同的服务器(Web 和 Web 服务)以避免跨域问题。代理工作正常,直到第一次检查失败,但一旦备份,HAProxy 就永远不会恢复转发到它。代理在 docker 容器 ( https://registry.hub.docker.com/u/dockerfile/haproxy/dockerfile/ ) 内运行,并且应该运行 HAProxy 1.5.3。

haproxy.cfg

global
    log         127.0.0.1 local0
    log         127.0.0.1 local1 notice
    user        haproxy
    group       haproxy

defaults
    mode        http
    log         global
    option      dontlognull
    option      httpclose
    option      httplog
    option      forwardfor
    option      persist
    option      redispatch
    option      http-server-close
    contimeout 5000
    clitimeout 50000
    srvtimeout 50000
    maxconn     60000
    retries     3
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 …
Run Code Online (Sandbox Code Playgroud)

proxy haproxy docker

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

Nginx 作为缓存代理:如果第一个返回 404,则尝试第二个上游

对于使用 nginx 作为缓存代理,有没有一种方法可以配置 2 个上游服务器,使其始终尝试第一个上游服务器,除非该服务器返回 404,并且只有在这种情况下它才会尝试第二个上游服务器?

我知道backup上游配置块中的选项,但只有在第一个服务器不可用时才尝试该服务器。我说的是第一台服务器是否可用,但只是特定请求的文件返回 404。

http nginx proxy cache

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

Squid 未正确阻止 SSL HTTPS

所以我的目标是只阻止某些 YouTube 频道。

如果我做:

acl block_youtube dstdomain .youtube.com
http_access deny block_youtube
Run Code Online (Sandbox Code Playgroud)

它会阻止对 youtube 的任何访问。

如果我做:

acl block_youtube url_regex -i ^https://www.youtube.com/watch\?v=v2AC41dglnM
http_access deny block_youtube
Run Code Online (Sandbox Code Playgroud)

它不会阻止该特定页面,即使我在 access_log 中看到这一点。

475862685.876      0 100.100.100.100 TAG_NONE/200 0 CONNECT www.youtube.com:443 - HIER_NONE/- -
1475862686.359    412 100.100.100.100 TCP_MISS/200 51182 GET https://www.youtube.com/watch\?v=v2AC41dglnM - HIER_DIRECT/216.58.192.238 application/json
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决这个问题吗?

proxy squid blocking

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

配置squid 3.5为不同的监听端口使用不同的父代理

我现在有以下配置:

# Squid normally listens to port 3128
http_port 3128

cache_peer proxy1_address parent proxy1_port 0 proxy-only default login=name1:pass1
never_direct allow all
Run Code Online (Sandbox Code Playgroud)

现在,我需要以某种方式配置鱿鱼,将所有到 3128 的传入请求都重定向到 proxy1(就像现在一样),并且所有到 3127 的传入请求都将重定向到 proxy2。可以做吗?

我当前的配置不起作用:

http_port 3128
http_port 3127

acl port_3128 port 3128
acl port_3127 port 3127

# 3128
cache_peer proxy01 parent 3128 0 no-query originserver name=proxy3128
cache_peer_access proxy3128 allow port_3128
cache_peer_access proxy3128 deny port_3127

# 3127 
cache_peer proxy02 parent 3128 0 no-query originserver name=proxy3127
cache_peer_access proxy3127 allow port_3127
cache_peer_access proxy3127 deny port_3128
Run Code Online (Sandbox Code Playgroud)

proxy squid transparent-proxy

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

如何在 Apache 上阻止来自代理的 IP 地址

我有需要限制特定 IP (10.0.0.5) 访问的 URL。当我以下一种方式直接访问时,它工作得非常完美:

<Location /incoming>
    Order Allow,Deny
    Deny from 10.0.0.5
    Allow from all
</Location>
Run Code Online (Sandbox Code Playgroud)

但是,当此 IP 来自代理(代理 IP:192.168.1.43)时,此解决方案不起作用。这是我在日志中看到的:

10.0.0.5, 192.168.1.43 - - [24/May/2017:16:03:54 +0300]“POST /传入 HTTP/1.0”200 698 0/6899“-”“-”

我尝试执行下一步 - 添加代理部分:

<Proxy /incoming >
    Order Allow,Deny
    Deny from 10.0.0.5
    Allow from all
</Proxy>
Run Code Online (Sandbox Code Playgroud)

这也没有帮助。

我需要你的帮助,朋友们!!!

proxy ip restrictions apache-2.2

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