Articles of 反向代理

代理协议可能性

看到问题是这样的:目前我们正在控制我们的networking中的代理服务器,它使用HTTP协议redirect所有的请求。 有人请求一个网站,它进入代理,它发送请求在http中,并返回到http。 现在我们想要的是一个代理服务器发送不同协议的方式。 这意味着:我们不是发送HTTP,HTTPS w / e协议,而是发送协议X. 这背后的原因是我们有另一方面的硬件/软件解决scheme,不听HTTP或HTTPS请求,需要由另一个协议接近。 我想知道这是否有可能,或者如果我们不得不寻找另一个解决scheme,将采取中间的要求。 如果对此问题有任何疑问,请随时提问,我明白我的描述可能有些模糊。 你们都事先有我的感谢! -Schmickle 编辑:成品应该能够做到以下几点: (用户)尝试使用特定的协议(具体协议未知,假设它运行在端口8512)(dns-name)。 现在,代理服务器应该发送这个协议到terminal设备(所以不是HTML,但协议8512 !!) 我将要对这个SOCKS协议进行一些研究。 如果这是我需要的答案,我会让你知道! 感谢现在的答案,无论如何,如果有任何其他解决scheme随时让我知道。 一旦我对SOCKS原理有了更多的了解,我会再次回到这里。 看起来这个SOCKS解决scheme是为支持本协议的应用程序而devise的? 或者,也许我误解了一些东西。 但是,我们的应用程序没有SOCKS的内置支持,这意味着使用SOCKS是不可能的。 我需要的是一个位于客户端和远程服务器之间的“服务器/网关”。 该解决scheme应该能够根据协议/端口redirectstream量。 如果解释模糊,我很抱歉。 如果有任何困惑,请随时询问。

Nginx反向代理到上游得到502坏网关?

我当前的应用程序部署正在接收HTTP端口上的stream量,Nginx将其redirect到HTTPS。 这工作正常。 现在我们打算让另一个Nginx服务器像这个现有的Nginx服务器(也称为Upstreams)一样负载平衡器。 下面是我正在尝试的configuration upstream web_rack { server xxxx; } server { location / { proxy_pass https://web_rack; } } 但以下日志得到502 Bad Gateway错误: 2017/03/14 06:23:49 [error] 2402#2402: SSL SSL握手到上游客户端:189.166.35.243,服务器SSL_do_handshake()失败(SSL:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议) :,请求:“GET / HTTP / 1.0”,上游:“ https:// xxxx:80 / ” 提前致谢。

使用openssl s_server作为反向代理

是否有可能通过将握手后的所有数据转发到不同的端口来使用openssl s_server作为一种反向代理。 更具体地说,我想创build一个简单的tftp-over-dtls设置用于testing目的。

Apache-2.4作为NGINX的反向代理 – Log Real IP

我在windows上configuration了apache-2.4作为我的内部nginx服务器的反向代理(我知道!但是不要问我为什么!!)。 几乎一切都很好,除了: 我相信我已经configurationnginx使用这个头来logging真实的IP: X-Real-IP 。 参考 。 现在在我的反向代理中,我该如何设置这个头部到客户端的IP地址,以便它可以被logging。 请注意,SSL是apache-2.4上的必备工具。 目前我的http-vhosts.conf有这个: <VirtualHost _default_:443> RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Forwarded-Ssl on RequestHeader set X-URL-SCHEME https ServerName www.external.gateway:443 ServerAlias external.gateway:443 ErrorLog "C:/Apache24/logs/gateway-error.log" CustomLog "C:/Apache24/logs/gateway-access.log" common # ServerAdmin [email protected] SSLEngine On SSLCertificateFile C:/Apache24/ssl/external.gateway.crt SSLCertificateKeyFile C:/Apache24/ssl/external.gateway.key <Location /> SSLRequireSSL </Location> ProxyPreserveHost On ProxyPass / http://internal.nginx:80/ ProxyPassReverse / http://internal.nginx:80/ </VirtualHost> […]

Nginx反向代理到相同的Ajax应用程序,select哪一个与url

我需要一个反向代理,能够将请求转发给具有相同体系结构但不相同的上游应用程序。 我无法控制在上游服务器上运行的代码。 这是一个与挤奶机器人接口的商业产品。 在过去的16个月中,我一直使用Nginx将请求上传到一个服务器,使用如下的位置块: location /T4C { proxy_pass http://192.168.10.4/T4C/; proxy_read_timeout 90; } 它的工作正常,但不幸的是,Web应用程序是这样写的,每隔5秒将其redirect到“http:// ip /T4C/Content/StartPage.aspx”。这意味着我的位置名称必须始终为“/ T4C “如果我尝试/富,它会加载启动页面,但只要其中一个刷新触发,它会超时尝试访问/T4C/Content/StartPage.aspx我试图使用cookie: location /crews { add_header Set-Cookie targetip=192.168.10.4/; #Tried with and without the slash proxy_pass http://127.0.0.1/T4C; } location /T4C { proxy_pass http://$cookie_targetip/T4C/; }#Tried with and without the slashes, all permutaions 这导致了一个redirect循环,或500内部服务器错误的原因,我不明白(我认为500没有设置cookie时发生) 我也尝试过重写,现在我正在更多地考虑这个问题,但是我不太了解这个机制。 我也尝试阅读“起源”,但这些例子似乎是A / Btesting或负载平衡。 我想在这里清楚地表明,用户需要能够通过URL来select他们连接到的后端服务器,然后即使浏览器将不断尝试将其指向/ T4C / ***,该select仍然存在我知道理想的情况是改变webapp,但不幸的是,这超出了我的控制范围。 这些系统都编程相同,代码不是我的,我也不能改变它。 […]

使用Nginx作为反向代理将同一网站添加到Cookie

用Nginx作为反向代理,你如何在cookie中添加samesite = strict或samesite = lax?

embedded式和反向代理部署防火墙之间的区别

根据开源防火墙的网站ModSecurity ; 它可以通过两种方式进行部署:embedded式和代理服务器(以下引用) 部署选项 ModSecurity支持两种部署选项:embedded式和反向代理部署。 没有一个正确的方法来使用它们; 根据最适合您的情况select一个选项。 两种select都有优点和缺点: embedded式 对于那些已经布置了架构并且不想改变架构的人来说,embedded式选项是一个很好的select。 如果您需要保护数百个Web服务器,embedded式部署也是唯一的select。 在这种情况下,build立一个单独的基于代理的安全层是不切实际的。 embedded式ModSecurity不仅不会引入新的故障点,而且可以随着基础networking基础架构的扩展而无缝扩展。 embedded式部署的主要挑战是服务器资源在Web服务器和ModSecurity之间共享。 反向代理 反向代理实际上是HTTP路由器,旨在站在Web服务器和他们的客户之间。 当您安装专用的Apache反向代理并向其添加ModSecurity时,您将获得适当的networkingWeb应用程序防火墙,您可以使用该防火墙来保护同一networking上的任意数量的Web服务器。 许多安全从业者喜欢有一个单独的安全层。 有了它,您可以完全隔离您所保护的系统。 在性能方面,独立的ModSecurity将拥有专用的资源,这意味着您可以做更多的事情(即有更复杂的规则)。 这种方法的主要缺点是新的故障点,这需要通过两个或多个反向代理的高可用性设置来解决。 我了解逆向代理防火墙如何工作 X用户在家 Y反向代理服务器充当从Z获取网站的防火墙 Z主网站服务器 在反向代理中, X <– Y对X可见,但背景X –> Y –> Z对X隐藏 问题是: 可以反向代理防火墙安全多个Web服务器,如果是的话,那么如何? (因为我在ModSecurity Y设置了Web服务器Z IP地址,每个Y可以处理一个Z IP地址,但是上面的引用说反向代理部署可以保护任意数量的Web服务器) 什么是embedded式防火墙,和反向代理防火墙有什么不同? 反向代理ModSecurity和Mod_Proxy有什么区别 ?

Nginx反向代理结尾斜杠

这个问题已经被多次回答了,但是在我的情况中却有一个转折点。 我有一个在端口3000上运行的节点应用程序。我正在使用nginx来反向代理。 现在应用程序只有在最后有一个斜线的时候才起作用。 所以这个工程: https://example.com/main/site/react/ : https://example.com/main/site/react/ 这不: https://example.com/main/site/react : https://example.com/main/site/react 这是我正在使用的configuration: location /main/site/react { error_log /var/log/nginx/app.error.log; rewrite ^/main/site/react/(?:|[\w\/]+)(\/static.*)$ $1 break; rewrite ^/main/site/react/?(.*)$ /$1 break; proxy_pass http://127.0.0.1:3000/; } 在检查其他相关问题后,添加以下重写规则(在error_log之后)为我工作: rewrite ^(.*[^/])$ $1/ permanent; 上面的规则呈现我的节点应用程序,但它失败了我的静态资源。 我有一些静态资源重写哪些不工作。 所以这个URL不起作用: https://example.com/main/site/react/static/js/bundle.js : https://example.com/main/site/react/static/js/bundle.js 。 它总是呈现索引HTML页面。

反向代理匹配exactl urlstring,包括参数和redirect

我有一系列的url: http://ip:port/path/page.php?paramN=foo http://ip:port/path/page.php?paramN=bar?paramy=whatever … 等等 我需要匹配的url“原样”和redirect例如第一个: http://host1/john.php 第二个: http://host2/doe.php 等等 没有正则expression式不重写只是一个哈希表的东西。 我怎样才能使用反向代理如Apache或Nginx? 谢谢,马里奥

Nginx:使用反向代理无法正确呈现静态资产path

我有困难configuration反向代理将用户从http://localhost/nexus/到http://localhost:8081/ 。 我目前的nginx.conf如下所示: worker_processes 4; events { worker_connections 1024; } http { server { listen 80; location /nexus/ { proxy_pass http://localhost:8081/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } 当我点击http://localhost/nexus/ ,它部分呈现页面。 当我检查HTML源代码时,我注意到JavaScript链接,图像链接和样式表链接没有正确构build。 例如,我看到这个: <link rel="stylesheet" type="text/css" href="http://localhost/static/rapture/resources/loading-prod.css?_v=3.3.1-01"> <script type="text/javascript" src="http://localhost/static/rapture/baseapp-prod.js?_v=3.3.1-01"></script> <img id="loading-logo" src="http://localhost/static/rapture/resources/images/loading-logo.png?_v=3.3.1-01"/> …但是,应该是这样的: – <link rel="stylesheet" type="text/css" href="http://localhost/nexus/static/rapture/resources/loading-prod.css?_v=3.3.1-01"> […]