Articles of 反向代理

HaProxy + CloudFlare

我正在尝试使用DDoS保护规则(速率限制)来设置HaProxy。 不过,我认为HaProxy现在正在限制CloudFlare IP,而不是访问者/真实IP。 (注:我的网站本身很好,因为我已经修复了我的网站的PHP代码)我该如何解决? 我的/etc/haproxy/haproxy.cfg global log 127.0.0.1 local0 notice maxconn 10000 user haproxy group haproxy defaults log global mode http option httplog option dontlognull retries 3 option redispatch timeout http-request 10s timeout connect 5000 timeout client 30s timesout server 5000 frontend domain bind *:80 stick-table type ip size 1m expire 10s store gpc0,http_req_rate(10s) tcp-request […]

Nginx Thin.Sock找不到错误

3个文件簇(err.log,chat.yml,Nginx的chat.conf): err.log: 2015/03/19 15:05:50 [crit] 1535#0: *79 connect() to unix:/var/www/chat/public/tmp/sockets/thin.0.sock failed (2: No such file or directory) while connecting to upstream, client: 162.243.6.35, server: chat.stackin.money, request: "GET / HTTP/1.1", upstream: "http://unix:/var/www/chat/public/tmp/sockets/thin.0.sock:/", host: "chat.stackin.money" 2015/03/19 15:05:50 [crit] 1535#0: *79 connect() to unix:/var/www/chat/public/tmp/sockets/thin.1.sock failed (2: No such file or directory) while connecting to upstream, client: 162.243.6.35, server: […]

如何在使用apache的托pipe网站的相同物理服务器上设置反向代理?

我如何使用一台服务器来完成以下两项任务: 服务于http://foo.bar.com上的网站 使用反向代理将所有用于http://loremipsum.bar.com的stream量指向“http:// www。acme.com:87 60 / Application”。 该网站已经存在和configuration正确,我只需要添加#2的function。 我怎样才能在同一台物理服务器上做到这一点? 我想象的答案是使用虚拟主机,但我不知道如何在一个物理盒子上做两个。

如何将multiplte node.js实例连接到单个域?

我有相同的IP几个node.js实例。 通过nginx反向代理在不同的域上运行的每个实例。 例如: map_hash_bucket_size 128; map $host $backend_servers { hostnames; default 127.0.0.1:3000; example.com 127.0.0.1:3001; example.net 127.0.0.1:3002; example.org 127.0.0.1:3003; } server { listen 1.2.3.4:80 default_server; server_name _; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_set_header X-NginX-Proxy true; proxy_pass http://$backend_servers; # upstream here proxy_redirect off; } } 我想要将来自example.com的path前缀/foo所有stream量定向到127.0.0.1:3002并从服务器中删除example.net 。 到example.net/bar旧链接应该redirect到状态301永久移动到example.com/foo/bar 。 这是我的最终目标: […]

我怎样才能得到nginx反向代理与java小程序,检查文件库?

所以我试图用nginx设置一个反向代理到远程服务器上的Java applet,但是我遇到的问题是它检查文档库,我可以从http://remote.example.com/加载它http://remote.example.com/就好了,但是当我试图让它通过使用我试图使用的实际域的nginx运行, http://newdomain.example.com ,它会引发错误,因为文档库不是远程的。 有没有办法,我可以修改反向代理configuration传递http://remote.example.com/而不是http://newdomain.example.com/ ? 这是我的configuration到目前为止 upstream test { server remote.example.com:80; } server { listen *:80; server_name http://newdomain.example.com; location / { proxy_pass http://test; proxy_pass_request_headers on; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 180; proxy_send_timeout 180; proxy_read_timeout 180; }

使用Apache反向代理和Postgresql调整Tomcat Java应用程序

看起来像我的Apache反向代理可能会成为瓶颈和陷入用户可以做出的请求数量。 我在server1上运行Apache和Tomcat,它具有96 GB内存,rhel5 x64,24内核。 很健壮。 Postgresql数据库在server2上运行,内存为50gb,rhel5 x64,24内核。 Tomcatconfiguration为使用60GB内存(我可以根据需要增加或减less)。 我每分钟处理数百次命中(来自用户以及远程API调用),看起来像Apache无法跟上。 我应该在httpd.conf中增加什么样的设置来确保更多的内存? 我也读过apache中的线程数与数据库线程直接关联。 我的postgres服务器肯定很健壮,并不习惯它的潜力,但我不想增加一个牺牲另一个。 那么如何弄清楚两者的正确设置呢? Apache正在处理我的SSL,服务于443.Tomcat有一个端口8080的连接器。 我应该增加apache的工作人员数量吗? 还是给他们更多的记忆?

nginx和apache – 同一个IP上的多个虚拟主机 – 正确的configuration

我试图在同一台机器上运行nginx作为Apache的反向代理,并从中提供不同的网站。 我的问题是 – 是否可以添加虚拟主机只有nginx,并根据请求主机自动传递到Apache /主机名/path等到Apache。 或者我需要为nginx和Apache中的每个站点(域)设置一个虚拟主机? 另外,这个设置是否有任何潜在的问题? 我计划在我的nginxconfiguration中有这样的每个域(Apache运行在端口8080): server { listen 80; root /var/www/site1.com/; server_name site1.com; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } } 谢谢!

是否有可能在同一接口上运行反向代理和转发代理?

我想知道是否有可能(使用任何广泛使用的代理软件,如mod_proxy,pound或squid)在接口上有传入连接的反向代理,在同一接口上有传出连接的正向代理。

我如何代理传递一个URL在Nginx的位置匹配是一个URL和代理传递有另一个URL

我们在Amazon AWS的S3存储桶中托pipe了一些xml文件。 Web服务器由Nginx提供支持。 对于一个匹配'/super-shots.xml'的特定URL,Nginx必须通过S3位置进行代理传递: http ://mybucket.s3.amazonaws.com/depth0/depth1/depth2/sitemap.xml 我想要的是这个(Nginxconfiguration): location ~* /super-shots.xml { proxy_pass http://mybucket.s3.amazonaws.com/depth0/depth1/depth2/sitemap.xml; } 结果是一个错误: nginx:[emerg]“proxy_pass”不能在正则expression式给出的位置,或者指定位置内,或者if语句内,或者在“limit_except”块内 如果我不做正则expression式匹配(〜* |〜),则没有语法错误,但是页面返回404.请注意,文件在系统path上不存在。 我曾尝试寻找解决scheme,但大多数处理path作为匹配。 我如何解决这个问题? 现在,我已经完成了一个基于path的代理通行证(在下面给出)。 但是,我想要与URL匹配。 #Nginx Config: location /super-shots { proxy_pass http://mybucket.s3.amazonaws.com/depth0/depth1/depth2/sitemap.xml; } # On file system : Empty directory mkdir $docroot/depth0/depth1/depth2/ nginx -s reload 更新1:基于Alexey Ten的评论。 Nginxconfiguration示例可以在这里find

nginx-proxy通过http和https返回503错误

我将nginx-proxy设置为运行应用程序服务器的Docker容器前面的反向代理。 它们在单独的Docker组合定义中定义。 出于某种原因,我得到了一个503 ,但我不知道为什么,我已经详细了解了nginx-proxy文档。 (我也打开这个作为github问题的nginx-proxy 。) 应用程序服务器最初为https提供了443的10443主机。 我切换到服务HTTP 80 10443暴露在主机上。 我可以从应用服务器直接curl,但通过nginx-proxy卷发抛出一个错误 我最初在443有nginx-proxy,但现在我把它换成了80 。 直到我添加default.crt和default.key ,我得到一个连接拒绝错误。 join后,我得到了503 。 curl http://foo.example.com:80/apidocs –verbose –insecure * Hostname was NOT found in DNS cache * Trying 10.xxx.. * Connected to foo.example.com (10.xxx) port 80 (#0) > GET /apidocs HTTP/1.1 > User-Agent: curl/7.35.0 > Host: foo.example.com > Accept: */* > < […]