标签: proxy

VPN、代理和 VPN 代理之间有什么区别?

我在http://answers.yahoo.com/question/index?qid=20081127175551AAQvL01上看到一篇文章,但我不确定在使用 HideMyAss 等服务时 VPN 是如何运行的,是否有区别?

vpn proxy

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

使用第 3 方 API 时如何解决 IP 白名单?

我们使用的服务的 API 将拒绝请求,除非源 IP 先前已被列入白名单。他们只给了我们 3 个插槽,这是一个问题,因为我们有超过 3 台机器需要使用 API。

解决此问题的最常用技术是什么?

注意:我不想做任何违反 3rd-party API 的条款和条件的事情。我们正在使用ResellerClub,我联系他们要求更多插槽,但他们回答说:

我请求您将您的服务器路由到几组 IP。

因此这个问题。


想法:

  • 我想我们可以通过运行一种充当中间人的代理来解决这个问题。我们没有向第 3 方发出 API 请求,而是将它们发送到我们的代理,代理将请求反弹给第 3 方,因此所有请求在他们眼中似乎都来自同一个 IP。有做这种事情的通用软件吗?这样做似乎比下面的想法更简单,但我错了吗?
  • 我应该研究使用“NAT 实例”吗?例如http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html。看起来很复杂 - 没有更简单的解决方案吗?(运行具有额外网络复杂性的额外实例是一种耻辱)。
  • 既然我们使用 Docker,那么Weave是否相关?
  • 我们可以将静态 IP 附加到 VPC 网关吗?我看到使用 AWS Storage Gateway(来源)是可能的——但不确定常规的 vpc igw?

我们的架构:我们使用 AWS 并在 ELB 后面运行的 VPC 中放置我们的实例。我们经常在事先不知道 IP 地址的情况下启动新实例。我们在所有机器上运行相同的软件。这些机器运行 CoreOS,我们的应用程序在 Docker 容器中运行。

tunneling nat proxy throttling rate-limiting

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

Apache 偶尔崩溃,错误 503

我正在运行一个名为 KOHA 的图书馆管理软件。每周一次或两次,服务器返回“503 服务不可用”。我可以访问主页,但是当我搜索一本书时,我得到了503。同样,员工可以登录员工页面,但是当他们登录后做一些事情时,他们得到同样的错误。我在我的 apache 日志中得到这些:

[Sun Sep 04 14:22:30.246305 2016] [proxy:error] [pid 27422] (2)No such file or directory: AH02454: HTTP: attempt to connect to Unix domain socket /var/run/koha/nitc/plack.sock (localhost) failed 
[Sun Sep 04 14:22:30.246380 2016] [proxy:error] [pid 27422] AH00959: ap_proxy_connect_backend disabling worker for (localhost) for 60s 
[Sun Sep 04 14:22:30.246394 2016] [proxy_http:error] [pid 27422] [client 192.168.65.199:56448] AH01114: HTTP: failed to make connection to backend: httpd-UDS, referer: http://192.168.20.17:8080/index.html
Run Code Online (Sandbox Code Playgroud)

希望有人能对此有所了解。

proxy apache-2.2

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

Nginx 反向代理给缓存 MISS

我已经为域配置了 nginx 反向代理。但是,当我测试使用时curl,它显示缓存 MISS。

curl -I http://www.mixtapemadness.com
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Cache-Control: max-age=0, no-cache, no-store, must-revalidate
Content-Type: text/html; charset=UTF-8
Date: Wed, 23 Nov 2016 13:58:23 GMT
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Pragma: no-cache
Server: nginx/1.8.1
Set-Cookie: ci_session=2fb702c0f6a7528e1198db89b1df85142ee1bfad; 
expires=Wed, 23-Nov-2016 15:58:21 GMT; Max-Age=7200; path=/; HttpOnly
Vary: Accept-Encoding
X-Proxy-Cache: MISS
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)

我的nginx.conf

user nginx;
worker_processes 8;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
    worker_connections 1024;
}
http {

log_format rt_cache '$remote_addr - $upstream_cache_status [$time_local]  
                    '"$request" …
Run Code Online (Sandbox Code Playgroud)

nginx proxy

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

基于uri路径的Nginx SSL透传

我想知道是否可以将 Nginx 配置为向给定的微服务动态发送请求(无需 SSL 终止)?

在我的架构中,我有两个微服务。让我们假设它们是 localhost:5000 和 localhost:5100。我想发送所有/api以 localhost:5000 和/serviceslocalhost:5100开头的请求(来自 Nginx 代理)。我已经在两个微服务上配置了 SSL,所以我不需要在 Nginx 上终止 SSL。

这可能吗?

ssl nginx proxy

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

如何配置 SSH 以使用一个 SSH 密钥通过代理连接到主机

我有这样的网络拓扑:

Laptop -> Bastion -> Destination
Run Code Online (Sandbox Code Playgroud)

Bastion 和 Destination 是 EC2 实例,使用相同的 SSH 密钥进行 SSH 访问。但是,无法从 Internet 访问 Destination。其 IP 地址仅对堡垒可见。

我能够连接到堡垒并使用代理转发来传递 SSH 密钥,然后从堡垒单独连接到目标服务器。但是,我想以.ssh/config这样一种方式配置我的文件,以便我可以使用笔记本电脑上的一个命令通过 SSH 连接到目标服务器。我当前的.ssh/config文件如下所示:

Host Bastion
  Hostname <redacted>
  IdentityFile ~/.ssh/mykey.pem

Host Destination
  Hostname <redacted>
  User ubuntu
  ProxyCommand ssh -A bastion-dev -W %h:%p
Run Code Online (Sandbox Code Playgroud)

但是当我跑

ssh -A ubuntu@Destination
Run Code Online (Sandbox Code Playgroud)

SSH 响应:

Permission denied (publickey).
ssh_exchange_identification: Connection closed by remote host
Run Code Online (Sandbox Code Playgroud)

如何正确地将 SSH 密钥从我的本地传递到堡垒服务器,而不必将其存储在服务器上?我可以通过.ssh/config文件配置所有这些,以便我可以使用单个命令登录目标服务器吗?

linux ssh proxy

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

Apache 2.2 反向代理没有按预期工作?

我已经根据我在apache 2.2 手册中阅读的内容相应地配置了我的 apache 。下面以我的配置为例。

ProxyRequests Off

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>

ProxyPass "/home/kwokfu/sandbox" "http://localhost:8080/sandbox"
ProxyPassReverse "/home/kwokfu/sandbox" "http://localhost:8080/sandbox"
Run Code Online (Sandbox Code Playgroud)

每次我访问http://localhost:8080/sandbox服务器时,仍然指向我的本地主机的默认文档根目录,而不是我在代理配置中声明的目录。

我不知道我在这里做错了什么,非常感谢任何帮助!

供您参考,我编译我的代理模块如下:

$ apxs -cia mod_proxy.c proxy_util.c
$ apxs -cia mod_proxy_http.c
$ apachectl -M
 ...
 proxy_module (shared)
 proxy_http_module (shared)
 ...
Run Code Online (Sandbox Code Playgroud)

每次访问时都会收到以下日志消息http://localhost:8080/sandbox

"GET /sandbox HTTP/1.1" 404 206 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
...
[debug] proxy_util.c(1806): proxy: grabbed scoreboard slot 0 in child 11225 for worker http://localhost:8080/sandbox …
Run Code Online (Sandbox Code Playgroud)

proxy apache-2.2

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

使用 Apache 通过 HTTPS 隧道传输 HTTP

是否可以为 HTTP 服务器提供 HTTPS 前端?

让我详细说明一下。假设我有一个在 tomcat 实例上运行的应用程序,这个应用程序只理解 HTTP。是否可以让 Apache 坐在 tomcat 应用程序前面并代理请求,如下所示:

        http://example.com/proxied_app                     http://localhost:8080
                       +----------+                        +----------+
                       |          |                        |          |
                       |          |                        |          |
Internet <----HTTPS--->|  APACHE  |<---------HTTP--------->|  TOMCAT  |
                       |          |                        |          |
                       |          |                        |          |
                       +----------+                        +----------+
Run Code Online (Sandbox Code Playgroud)

tomcat proxy reverse-proxy apache-2.2

0
推荐指数
1
解决办法
1563
查看次数

如何在nginx上制作代理?

我将如何设置我的网络服务器以下面描述的方式工作?

  • Http 请求:mypublic.com ---> nginx 正常处理,因为它已经设置好了 ( listen 80;)

  • Http 请求:myprivate.com ---> 由 apache 处理,设置为在 8080 ( listen 8080) 上工作

我想避免在浏览器中输入地址时包含端口,在 nginx 中使用某种模型(代理?/squid?)。两个域都指向我的机器并按命名设置。

freebsd nginx proxy apache-2.2

0
推荐指数
1
解决办法
616
查看次数

无法让用户通过 Squid 代理访问某些站点

我们在 RHEL 服务器上运行 Squid。我们希望阻止用户访问 Facebook,而不是几个特定站点,例如我们组织的页面。不幸的是,如果不让所有 Facebook 都通过,我就无法解锁这些特定页面。

[squid.conf]

# Local users:
acl local_c src 192.168.0.0/16

# HTTP & HTTPS:
acl Safe_ports port 80 443

# File containing blocked sites, including Facebook:
acl blocked dst_dom_regex "/etc/squid/blocked_content"

# Whitelist:
acl whitelist url_regex "/etc/squid/whitelist"

# I do know that order matters:
http_access allow local_c whitelist
http_access allow local_c !blocked
http_access deny all
Run Code Online (Sandbox Code Playgroud)

[blocked_content]

.porn_site.com
.porn_site_2.com
[...]
facebook.com
Run Code Online (Sandbox Code Playgroud)

[白名单]

facebook.com/pages/Our-Organization/2828242522
facebook.com/OurOrganization
facebook.com/media/set/
facebook.com/photo.php
www.facebook.com/OurOrganization
Run Code Online (Sandbox Code Playgroud)

我最大的弱点是正则表达式,所以我不能 100% 确定这是否全部正确。如果我删除 http_access 规则的“!blocked”部分,所有 Facebook 都可以正常工作。如果我从blocked_content 文件中删除“facebook.com”,则所有Facebook 都可以正常工作。

现在,访问 …

proxy squid regex

0
推荐指数
1
解决办法
4312
查看次数