标签: proxy

相同的流量

我正在运行一个应用程序服务器并记录所有请求以供稍后分析。我昨晚注意到的一个有趣趋势是,我有一位来自德克萨斯州的访客在 FIOS 上与加利福尼亚的 bluecoat 共享相同的流量。

什么会导致流量相同?对于访问者提出的每一个请求,bluecoat 都会在他请求的几毫秒内做出一个。如果是缓存,为什么会有相同的请求?它不会通过缓存/代理,而我只会看到代理请求吗?

我只是好奇,这是一个有趣的模式,它显示了 DDoS 攻击的相似之处,但资源要少得多。访问者的计算机上是否有可能存在恶意软件?

还有其他想法吗?

security http proxy cache network-monitoring

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

为 privoxy 添加安全性

我有一个在我的服务器上使用 privoxy 运行的小代理,基本上是为了利用我服务器的静态 IP 连接到我办公室的 VPN。

我在一个没有身份验证的不常见端口上使用它,一个开放代理。正如我的系统管理员所说,Security Through Obscurity这不是我想要中继的东西。

我在 privoxy 文档上进行了搜索,但无法找到与用户身份验证相关的任何内容,我的问题是:有一种方法可以使用 privoxy 对其进行存档吗?如果没有,任何人都可以提出一些易于配置和简化隐私的建议吗?

谢谢。

proxy user-management privoxy

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

将 websocket 流量从 nginx 1.3.13 代理到 socket.io(无 SSL)

截至 2 天前,nginx 开始支持 websocket 连接,因此我试图让我的 nginx-nodejs-socket.io 应用程序在没有 HAproxy 等的情况下工作(虽然运气不好)。

我真正想要实现的是 nginx 仅将 websocket 连接请求发送到支持的服务器,或者更准确地说是 websocket 服务器,socket.io,同时 nginx 将提供 php 文件,以及包括 html 文件在内的所有静态内容.我根本不想 express 提供静态内容(如果可能的话)。

这是我的 nginx.conf

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip …
Run Code Online (Sandbox Code Playgroud)

nginx proxy node.js websocket

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

中国防火墙是否修改X-Forwarded-For

我正在查看来自我们一些中国客户的流量,他们的 X-Forwarded-For 看起来像:

REALIP, 127.0.0.1, REALIP, etc
Run Code Online (Sandbox Code Playgroud)

有趣的是,环回 IP 始终是列表中的第二个 IP 地址。这意味着连接来自工作站 -> 代理 -> 同一主机上的代理 -> 另一个代理。

这意味着流量正在某处本地机器上通过代理。

这是防火长城吗?我一直认为这将是一个透明的代理。还有什么?有没有人见过这个?

谢谢。

networking proxy china

6
推荐指数
0
解决办法
174
查看次数

鱿鱼指定传出网络接口

我有一台 Linux Debian 机器,有许多运行 Squid 的网络接口(venet0:1 到 venet0:5)。如果我连接到接口 venet0:2,squid 使用 venet0:0 进行传出流量,但我希望 Squid 使用相同的网络接口进行连接。因此,如果我连接到 venet0:1 的 IP 地址,代理也应该使用相同的接口进行传出流量。

目前我使用以下配置:

http_port 200
forwarded_for off
uri_whitespace encode
visible_hostname localhost
via off
collapsed_forwarding on
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/users
auth_param basic children 5
auth_param basic realm Proxy
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl ncsa_users proxy_auth REQUIRED
access_log none
cache_store_log none
cache_log /dev/null
acl all src all
http_access allow ncsa_users
header_access From deny all
header_access Referer deny all …
Run Code Online (Sandbox Code Playgroud)

networking debian proxy squid

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

将域名映射到 Docker 容器的最佳实践

从特定域名为 docker 容器提供服务的“最佳实践”是什么?

例如:

  • Container1 在端口 8080 上运行 App A,并通过 AwesomeAppA.com 访问
  • Container2 在端口 8090 上运行 App B,并通过 AwesomeAppB.com 访问

然后你可以,例如:

  1. 例如,让您的容器公开 Gunicorn/uWSGI 使用的端口,并在docker主机上使用Nginx来处理代理。
  2. 但是你也可以让你的容器在内部运行 Nginx 并使用HAProxy

但哪个更好?是否有其他首选选项,还是真的取决于个人喜好?

选项 1 符合单一职责原则,允许您在容器中运行您的 1 个应用程序,并让主机处理代理。它还允许 Nginx 处理 SSL,但除了“docker run”之外还需要额外的设置和配置。

nginx proxy haproxy docker

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

通过 ssh 隧道使代理在远程服务器上可用

我知道我可以使用 ssh 隧道在我的机器上创建一个“代理”,这样我就可以让本地生成的所有流量通过远程服务器。像这样:

$ ssh -D 12345 myuser@remote_ssh_server
Run Code Online (Sandbox Code Playgroud)

但是如果我需要在远程服务器上创建一个“代理”,以便我发送的所有流量都将通过我的本地机器呢?这可以通过 ssh 实现吗?

本质上,我想使用我的本地互联网连接和一些特定命令来远程运行,因为服务器无法直接访问互联网。

ssh proxy ssh-tunnel

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

根据 url 将流量重定向到不同的 ip 地址,维护端口和 url 信息

我们有 QA 版本、UAT 版本和 webapp 的 DEV 版本。用户需要通过访问这些http://uat.company.com:41002/webapphttp://qa.company.com:41002/webapphttp://dev.company.com:41002/webapp。在端口 41001 和端口 8080 上还有一个不同的 webapp,它们需要访问。

这些 url 必须在公司外部可用,而且我们只有一个可以访问它们的公共 IP 地址。因此,DNS 记录需要所有 3 个地址指向一个 IP。在那个单一的 IP 地址上,有一台服务器运行着 nginx。在后台,我需要每个 url 指向不同的服务器

http://uat.company.com --> 123.123.123.1
http://qa.company.com  --> 123.123.123.2
http://dev.company.com --> 123.123.123.3
Run Code Online (Sandbox Code Playgroud)

恐怕我不知道正确的术语,但是 URI 的其余部分和端口也必须转移到 IP 地址。即如果有人访问

http://uat.company.com:41002/webapp/somepage`
Run Code Online (Sandbox Code Playgroud)

看起来好像那是他们访问过的页面,但实际上他们会查看

http://123.123.123.1:41002/webapp/somepage
Run Code Online (Sandbox Code Playgroud)

或者如果他们访问过

http://qa.company.com:8080/static/home.html
Run Code Online (Sandbox Code Playgroud)

他们真的会看

http://123.123.123.2:8080/static/home.html
Run Code Online (Sandbox Code Playgroud)

但他们的浏览器仍然会说 http://qa.company.com:8080/static/home.html

我试过了

server {

    server_name uat.company.com;

    listen 41001;
    listen 41002;
    listen 8080;

    location / {
            proxy_pass http://123.123.123.1:$server_port$uri;
            proxy_set_header Host $host;
    }
Run Code Online (Sandbox Code Playgroud)

}

但是,这给了我一个带有日志的错误网关 502 页面: …

rewrite nginx proxy proxypass

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

允许使用 Squid 的特定 URL 路径

我在 Debian 上使用 Squid 3.4,我想知道如何在禁止其他子 URL 的同时允许某些子 URL。

特别是,我想禁止访问 reddit.com/* 但允许访问 reddit.com/r/foo/* 和 reddit.com/r/foo/

acl bad url_regex reddit\.com.*
acl good url_regex reddit\.com.*foo*

http_access deny bad
http_access allow good

...
http_access allow localnet
http_access allow localhost
http_access deny all
Run Code Online (Sandbox Code Playgroud)

这段代码似乎不起作用,reddit.com 上的所有内容最终都被屏蔽了。我怎样才能得到我想要的配置?

编辑:更新的配置仍然不起作用:

acl good url_regex http(s)?://(www\.)?reddit\.com/r/foo.*
acl bad url_regex http(s)?://(www\.)?reddit\.com.*

http_access allow good
http_access deny bad

...
http_access allow localnet
http_access allow localhost
http_access deny all
Run Code Online (Sandbox Code Playgroud)

这与前面的代码有相反的效果;它允许访问所有 reddit.com(我不想要)。

domain proxy web squid blocking

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

OpenLDAP 代理缓存不检索条目

我需要设置一个连接到我们中央 Active Directory 服务器的本地 LDAP 代理缓存。OpenLDAP 代理缓存看起来很像。但是尽可能地遵循联机帮助页,我无法使其正常工作。

我能够通过 localhost 将请求代理到远程服务器,但它们没有被缓存(或者至少没有检索到缓存)。

我做的步骤:

  • 安装openldap-serversopenldap-clients打包
  • 创建了一个slapd.conf配置文件(详细信息如下)
  • 为代理数据库创建一个目录并将默认的 DB_CONFIG 文件复制到那里(详细信息如下)
  • Ranslapd -d -1命令启动服务器
  • 使用以下命令查询服务器: ldapwhoami -vvv -h localhost -D "CN=Melka Martin,OU=(...),DC=int,DC=ourdomain,DC=com" -x -w <password>

结果是成功。但是嗅探网络流量显示查询是从中央 LDAP 服务器汇集的。

slapd输出是非常详细,但它确实在一个点状态

QUERY NOT ANSWERABLE
QUERY CACHEABLE
Run Code Online (Sandbox Code Playgroud)

唉,如果它确实被缓存了,它永远不会被回答。任何想法可能是错误的?

"cn=admin,dc=int,dc=ourdomain,dc=com"是远程 LDAP 服务器中管理员用户的 DN。<something>是他的密码。

配置文件

database        ldap
suffix          "dc=int,dc=ourdomain,dc=com"
rootdn          "cn=admin,dc=int,dc=ourdomain,dc=com"
rootpw          <something>
uri             ldap://dc-04.int.ourdomain.com:389

overlay pcache
pcache         hdb 100000 1 1000 100
pcacheAttrset  0 …
Run Code Online (Sandbox Code Playgroud)

openldap proxy cache

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