Articles of 反向代理

如何判断一个网站是否使用CloudFlare反向代理服务?

我正在调查由于parsing器错误导致的CloudFlare负载数据泄漏对我们所使用的服务的影响。 判断一个服务是否通过DNS将stream量导向CloudFlare比较容易: $ nslookup www.authy.com Server: google-public-dns-a.google.com Address: 8.8.8.8 Non-authoritative answer: Name: www.authy.com Addresses: 104.16.0.17 104.16.1.17 $ whois -h whois.arin.net n 104.16.0.17 | egrep 'Organization' Organization: Cloudflare, Inc. (CLOUD14) CloudFlare会以这种方式终止所有指向他们的stream量吗?如果不是,有没有办法独立判断CloudFlare客户是否在使用CloudFlare的反向代理服务?

针对两个Web应用程序的Apache反向代理:一个在远程机器上的另一个本地主机上

我有两个Web应用程序:Jira和Mercurial。 他们曾经是在同一台服务器Dual Host但我已经把Mercurial移动到Mercurial Host 。 Jira仍然在Dual Host上Dual Host 。 Dual Host有一个Apache 2.2.22服务器,用于托pipeMercurial,但现在将作为反向代理。 在我的域名服务器上,我设置了jira来指向Dual Host的IP, mercurial指向Mercurial Host的IP。 用户通过访问http://dualhost:4040/和Mercurial访问Jira,访问http://dualhost/ 。 我已经设置了一个反向代理来代理请求http://dualhost/ to http://mercurial/ (以便现有链接在各个地方提交)。 这与以下configuration工作正常: <VirtualHost *:80> ServerName dualhost ProxyPreserveHost On ProxyPass / http://mercurial:80/ ProxyPassReverse / http://mercurial:80/ </VirtualHost> 现在我想代理http://jira请求到http://dualhost:4040但是我一直在代理Mercurial。 原因是我想在日后将Jira移动到新的服务器上,URL越“正确”越好。 我已经设置了这个规则: <VirtualHost jira:80> ServerName jira ProxyPreserveHost On ProxyPass / http://localhost:4040/ ProxyPassReverse / http://localhost:4040/ </VirtualHost> 我在看Apache 2.2的文档,这看起来应该工作。 我究竟做错了什么?

与proxypass错误的Apachestream量redirect

请帮我使用Apache 2.4.18。 这是与这个问题作斗争的第三天。 build筑 www.myserver.com:用于stream量redirect的前台服务器 内部服务器与本地IP 192.168.0.10包含2个文件夹与一个Web应用程序每一个 192.168.0.10/app01 192.168.0.10/app02 我想通过他们的子域来访问这些networking应用程序 app01.myserver.com和 app02.myserver.com 这是我的虚拟主机configuration文件 <VirtualHost *:80> ServerName app01.myserver.com ProxyRequests Off ProxyPreserveHost On ProxyPass / http://192.168.0.10/app01 ProxyPassReverse / http://192.168.0.10/app01 </VirtualHost> 它的工作,但部分:stream量正在redirect,但我有问题的链接。 问题 在app01.myserver.com上login后,浏览器redirect到app01.myserver.com/dashboard ,应用程序菜单上的某些链接选项会redirect到它们各自的模块,但是: 当我点击app01.myserver.com/profile时,我被redirect到app01.myserver.com/profile 然后我被redirect到app01.myserver.com/app01/profile 它正确地给了我一个404错误,因为“ app01 / profile ”不存在。 我想我需要一个重写规则,或者ProxyPass和ProxyPassReverse是不正确的。 任何帮助,将不胜感激。

Apache不听指定的端口

我正在尝试build立一个Nginx + Apache与PHP模块configuration。 它使用这样的configuration在Debian 6上工作: <VirtualHost 127.0.0.1:9002 > ServerName mysite.com AddDefaultCharset UTF-8 AssignUserID username username CustomLog /var/www/httpd-logs/mysite.com.access.log combined DocumentRoot /var/www/username/data/www/mysite.com ErrorLog /var/www/httpd-logs/mysite.com.error.log AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml AddType application/x-httpd-php-source .phps php_admin_value open_basedir "/var/www/username/data:." php_admin_value upload_tmp_dir "/var/www/username/data/mod-tmp" php_admin_value session.save_path "/var/www/username/data/mod-tmp" </VirtualHost> NameVirtualHost 127.0.0.1:9002 <Directory /var/www/username/data/www/mysite.com> Options -ExecCGI -Includes php_admin_value open_basedir "/var/www/username/data:." php_admin_flag engine on […]

NGINX反向代理Apache在端口8080上运行,拥有owncloud

我有nginx作为我的主要networking服务器运行。 我已经在端口8080上安装了运行apache的owncloud。我知道owncloud对nginx有非官方的社区支持,但我更愿意保留官方的支持。 我目前的问题是,反向代理似乎没有按预期工作。 它不断加载我的默认网站。 我的网站使用灵活的HTTPS SSL证书通过cloudflare运行。 但是,我可以去xxx.xxx.xxx.xxx:8080并直接访问owncloud。 主要的nginxconfiguration user www-data; worker_processes 2; worker_rlimit_nofile 20480; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 15; types_hash_max_size 2048; server_tokens off; # log_format main '$remote_addr – $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"'; log_format main […]

redirect到: /

我有一个应用程序运行在localhost:8080 ,我configurationNginix使其运行localhost/ 我有另一个应用程序运行在localhost:3000 我想要做的就是把我redirect到localhost:3000/[whatever]当我最初去localhost/[whatever] 类似的东西: location /[SOMETHING] { proxy_pass http://localhost:3000/[THAT_SAME_THING_ABOVE]; } 是否有可能configurationNginx做这个行为? 如果是的话如何? 谢谢

如果反向代理或服务器本身parsingHTTPS

情况如下: 我有两台服务器在我的机器上运行。 一个是面向外的服务器,而另一个是第二个服务器的反向代理,它只监听本地主机并提供​​服务。 第二台服务器应该运行在https 。 我知道看到两个select: 只需在第二台服务器上实现https ,然后让反向代理服务器将https服务器发送给它。 在反向代理中实现https逻辑,为第二个服务器“抽象https”。 我甚至不知道这两个选项是否可行,更不用说可行了。 如果是的话,两种解决scheme的优缺点是什么? 编辑:在这种情况下,反向代理是nginx, 服务提供服务器是一个Node.js服务器。

Nginx的http_cookie和cookie_name有什么区别?

我想在Nginx中添加一个远程ip作为一个Cookie,以便它可以传递到负载平衡器粘性的AWS负载平衡器。 location / { proxy_set_header Cookie "$http_cookie; ip=$remote_addr"; proxy_pass http://app_upstream; } 我正在使用这些设置cookie,但AWS ELB不接受这种粘性。 由于此服务器被用作iframe,所以我无法使用ELB生成的cookie进行负载平衡,以防Safari / IOS在默认情况下阻止第三方Cookie。 我打开nginx并写一个自定义的反向代理以及。

如何使用nginx反向代理设置postfix

我想制作一个邮件服务器。 但是,我想我的邮件服务器不直接连接到互联网。 所以我让另一台服务器可以通过互联网访问,并使用反向代理与Nginx。 但由于某些原因,反向代理无法连接到邮件服务器。 这是我的nginx conf: user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } stream { log_format proxy '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time "$upstream_addr" ' '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"'; access_log /var/log/nginx/access.stream.log proxy; server { listen 25; #protocol smtp; proxy_pass 10.0.1.15:25; } server { listen 110; #protocol […]

如何通过主机名转发到防火墙后的不同Web主机–mod_proxy?

我需要一个快速的解决scheme,允许我在防火墙后面托pipe多个Web服务器。 他们在不同的计算机上,所以我不能使用Apache虚拟主机。 我也不想为每台机器使用不同的非标准端口。 问题是我的路由器只能将端口443转发给一台机器。 我认为最好的解决scheme是使用反向代理或代理转发,但是我一直在理解如何设置这个问题。 我假设我可以将所有443通信端口转发到其中一台服务器,并使该代理服务器。 所有服务器只接受htmlsstream量。 我正在使用DDNS,并且所有服务器都parsing为相同的WAN IP地址。 build立: server1.domain.com =代理和维基服务器 server2.domain.com =文档服务器 server3.domain.com = owncloud服务器 我试图把以下放在server1上的/etc/apache2/conf-available/proxy-pass.conf中: SSLProxyEngine on ProxyPass "/directory" "https://server2.domain.com/directory" ProxyPass "/owncloud" "https://server3.domain.com/owncloud" 这工作,但不是我在找什么。 无论目录如何,我都需要将所有stream量引导到由传入URL域名指定的服务器,因为我在基本URL之后有很多子目录。 就像是: ProxyPass "https://server2.domain.com" "https://server2.domain.com" ProxyPass "https://server3.domain.com" "https://server3.domain.com" 我应该寻找另一种解决scheme,如pound ,还是有办法用apache来做到这一点。 我想我已经安装了Apache,所以使用它?