标签: reverse-proxy

使用 AWS CloudFront 时如何向公众隐藏自定义源服务器?

我不确定这是否完全符合 StackOverflow 的要求,但由于我需要以编程方式执行此操作,并且我认为 SO 上的很多人都在使用 CloudFront,我认为确实如此……所以这里是:

我想隐藏对我的自定义源服务器的公共访问。

CloudFront 从自定义源中提取,但是我找不到有关在 CloudFront 后面代理时防止用户直接请求到我的源的文档或任何类型的示例,除非我的源是 S3 ...自定义源不是这种情况。

我可以使用什么技术来识别/验证请求是通过 CloudFront 代理的,而不是由客户端直接请求的?

CloudFront 文档仅涵盖与 S3 源一起使用时的这种情况。列出 CloudFront 的 IP 地址的 AWS 论坛帖子有一项免责声明,即不保证该列表是最新的,不应依赖该列表。请参阅https://forums.aws.amazon.com/ann.jspa?annID=910

我假设任何使用 CloudFront 的人都可以通过某种方式向直接请求/爬虫程序隐藏他们的自定义来源。我很感激任何让我开始的提示。谢谢。

authentication reverse-proxy cdn proxy-authentication amazon-cloudfront

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

Rails 可以充当在 mysite 上托管域的反向代理吗?

我有 mysite.com。目前我的博客是 blog.mysite.com

我希望我的博客是:mysite.com/blog - 指向 tumblr 博客。

是否可以使用 Rails 作为反向代理,以在 mysite.com/blog 上主 URL 结构并显示 tumblr 内容,维护 mysite.com/blog url 和文章 url... 不重定向到 tumblr 的 URL?

谢谢

reverse-proxy ruby-on-rails tumblr ruby-on-rails-3

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

Kerberos身份验证和反向代理的相互作用

我需要对反向代理和Kerberos协议的相互作用有一些高层次的了解.

假设我有一个Web服务和一个客户端,它们已经实现并正在运行.现在我们将Web服务放入反向代理后面的网络中.反向代理后面的网络中的内部身份验证基于Kerberos.

现在我想知道这个新的基础设施是否会在Web服务端和客户端进行一些必要的程序化更改?这取决于

  1. 反向代理是否将使用自己的票证充当此Intranet中的客户端
  2. 或者外部客户端是否必须知道这个额外的身份验证层,并且必须能够自己请求票证

在这种情况下,最先进的技术是什么?

提前致谢!

web-services reverse-proxy kerberos

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

任何可用的 Java 代理服务器库?

我正在开发一个客户端应用程序。应用程序通过运行在 127.0.0.1:1080 的代理服务器连接

运行在 127.0.0.1:1080 的代理服务器也会通过一组随机代理转发客户端请求,并将输出返回给客户端应用程序。

基本上,客户端通过代理服务器发出请求,但代理服务器通过一组随机代理转发请求。

是否有可以提供帮助的 Java 库?

java proxy reverse-proxy

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

使用mod_remoteip获取Apache 2.4访问日志以使用Varnish显示客户端IP而不是127.0.0.1

对于我的生活,我无法获得mod_remoteip来获取我的Apache访问日志中的客户端IP.我正在使用安装在Apache 2.4.7前面的Varnish 4的Virtualmin设置.你是如何让它运作的?

apache logging reverse-proxy varnish

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

反向代理:为什么响应调度不是瓶颈?

当反向代理主要用于负载平衡时,很明显为什么将请求路由到 N 个代理服务器池应该有助于平衡负载。

然而,一旦请求的服务器端计算完成并且是时候将响应分派回客户端,为什么单个反向代理服务器永远不会成为瓶颈?

我对反向代理概念的直观理解告诉我,

  1. 代理 N 个源服务器的反向代理服务器显然不会像涉及 N 个代理服务器的单服务器等价物的设置那样容易或早成为瓶颈,但它也会在某些时候成为瓶颈,因为所有 N 个代理服务器的响应都通过它。

  2. 也就是说,为了进一步延迟上述瓶颈点(避免到达),N 个代理服务器实际上应该“以某种方式”直接将响应分派给客户端,而不是通过位于前面的单个反向代理来完成他们。

我对反向代理概念的理解哪里有问题?也许第 2 点是根据定义不是反向代理服务器设置,但保留定义,为什么 #2 相对于反向代理选项不流行?

reverse-proxy

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

Apache ProxyPass:独立与位置标签?

这两个代码块有何不同?

ProxyPass /app http://10.0.0.10/blah
ProxyPassReverse /app http://10.0.0.10/blah
Run Code Online (Sandbox Code Playgroud)

相对

<Location /app>
    ProxyPass http://10.0.0.10/blah
    ProxyPassReverse http://10.0.0.10/blah
</Location>
Run Code Online (Sandbox Code Playgroud)

谢谢!

apache reverse-proxy

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

我可以将一些确切的远程URL映射到具有不同端口的本地URL

长话短说:我们有远程开发服务器.其中包含几个Symfony2实例.像example.com/page1example.com/page2与不同的应用程序不同的AWS实例.其中一个(即/ page1)是我的责任.我能够远程和本地开发它.显然,本地是最快的方式,但是当整个应用程序在类似域下同时工作时,为什么最好远程开发这些原因列表.所以我想让example.com/page1引用我的本地实例,所以我没有每个Cmd + S通过FTP发送文件.

从Apache设置我可以将一些本地URL映射到Remote,使用ProxyPass

ProxyPass /app/ http://example.com/app/

我需要的是完全相同的,反之亦然.

我有两个相同的Web应用程序远程和本地运行.

远程:https://example.com:33333/app/

当地人:http://localhost:22222/app/

我需要以这种方式让它工作:

  • https://example.com:33333/homepage/ - > https://example.com:33333/homepage/
  • https://example.com:33333/app/ - > http://localhost:22222/app/

将远程URL保留在浏览器地址栏中.

是否可以在我的最终设置它(而不是从远程的ProxyPass)

可能是某些Chrome扩展程序或代理应用程序?

apache proxy reverse-proxy nginx remote-server

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

nginx缓存但使用`Cache-Control:public,s-maxage = 0`立即过期/重新验证

我想使用HTTP代理(例如nginx)来缓存大量/昂贵的请求.这些资源对于任何授权用户都是相同的,但是每个请求的后端都需要检查其身份验证/授权.

这听起来像是Cache-Control: public, max-age=0与nginx指令proxy_cache_revalidate on;一起执行此操作的方式.代理可以缓存请求,但是每个后续请求都需要对后端执行条件GET,以确保在返回缓存资源之前对其进行授权.如果用户未经授权,则后端发送403,如果用户被授权则发送304,并且缓存的资源不是陈旧的,或者如果新资源已过期,则发送200.

在nginx max-age=0中设置了if ,根本不缓存请求.如果max-age=1设置,那么如果我在初始请求之后等待1秒,那么nginx会执行条件GET请求,但是在1秒之前它直接从缓存服务它,这对于需要进行身份验证的资源来说显然非常糟糕.

有没有办法让nginx缓存请求但是立即需要重新验证?

请注意,这在Apache 可以正常工作.以下是nginx和Apache的示例,前两个有max-age = 5,最后两个有max-age = 0:

# Apache with `Cache-Control: public, max-age=5`

$ while true; do curl -v http://localhost:4001/ >/dev/null 2>&1 | grep X-Cache; sleep 1; done
< X-Cache: MISS from 172.x.x.x
< X-Cache: HIT from 172.x.x.x
< X-Cache: HIT from 172.x.x.x
< X-Cache: HIT from 172.x.x.x
< X-Cache: HIT from 172.x.x.x
< X-Cache: REVALIDATE from 172.x.x.x
< X-Cache: HIT from …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy nginx cache-control http-caching http-headers

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

IIS 10 / ARR 3 / Websocket /

我有一个带有ARR 3.0和websockets的IIS 10

如果我直接使用iis,则我的websocket效果很好。网络套接字的地址类似于ws:// IP_SERVER:PORT / ws / XXXX

如果我使用与反向代理相同的iis(以及具有重写url规则的相同站点),则我的websocket将永远连接和断开连接。

网络套接字的地址类似于ws:// DOMAIN:PORT / ws / XXXX

网址重写配置为:

<rewrite>
    <rules>
        <rule name="ReverseProxyInboundRule1" stopProcessing="true">
            <match url="(.*)" />
            <action type="Rewrite" url="{C:1}://localhost:1880/{R:1}" />
            <conditions>
                <add input="{CACHE_URL}" pattern="^(.+)://" />
            </conditions>
        </rule>
    </rules>
</rewrite>
Run Code Online (Sandbox Code Playgroud)

你能帮我吗 ?谢谢

iis reverse-proxy websocket arr

5
推荐指数
0
解决办法
907
查看次数