Articles of 反向代理

Nginx反向代理导致redirect循环

我有一个负载均衡器(Nginx)和另一个托pipewordpress博客的Apache服务器(在/博客)。 我希望在我的负载均衡器/blog上的所有stream量都能够访问此Apache服务器。 我有以下设置: upstream main_app { server main_app_address; } upstream blog { server blog_address; } server { server_name appname.com; return 301 http://www.appname.com$request_uri permanent; } server { listen 80; server_name appname.com; location / { client_max_body_size 8M; proxy_pass http://main_app; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Scheme $scheme; } location /blog { proxy_pass http://blog/; proxy_set_header Host $host; […]

使用pfSense将Apache反向代理迁移到Squid3

我目前有一个pfSense防火墙,将80端口和443端口redirect到一个内部的Apache,它充当了我们公司几个子域的反向代理。 由于pfSense通过Squid3提供了一个反向代理,我想摆脱Apache服务器,并用pfSense代替所有路由。 我目前的Apacheconfiguration是这样的: <VirtualHost *:80 *:443> RewriteEngine on RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} ServerName trac.mycompany.com SSLProxyEngine on SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 ProxyPreserveHost On ProxyPass / https://trac.mycompany.com/ ProxyPassReverse / https://trac.mycompany.com/ ProxyVia on </VirtualHost> <VirtualHost *:80 *:443> ServerName svn.mycompany.com ProxyPass / http://svn.mycompany.com/ ProxyPassReverse / http://svn.mycompany.com/ ProxyVia On </VirtualHost> 正如你所看到的,两者都非常简单。 我知道使用具有HTTPS和单个外部IP地址的虚拟主机限制了我使用自签名证书,并且我意识到了风险,但此时并不关心(我只是想要发送用户名和密码encryption)。 在pfSense ,我configuration如下: 反向代理已打开。 trac和svn都在同一台本地服务器(192.168.0.26)上运行。 […]

Nginx反向代理到另一个服务于静态文件的nginx服务器

我有一个Nginx服务器托pipe一个Web应用程序,直接访问时工作正常。 它的configuration如下 server { listen 8000 default_server; listen [::]:8000 default_server ipv6only=on; root /data/www/ ; server_name server1.com; location / { try_files $uri $uri/ =404; } location /app/ { } } 现在我必须从另一个Nginx服务器来服务这个应用程序所以我设置了如下的反向代理 server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /data/www/ ; server_name server2.com; location / { try_files $uri $uri/ =404; } location /app/ { […]

ADFS 3.0负载平衡反向代理选项

我们正在服务器2012 R2上部署ADFS。 Microsoftbuild议至less2台ADFS服务器和2台在DMZ中运行Web应用程序代理angular色的服务器。 我的问题是:我们已经在运行mod_balancer的DMZ中安装了2个Apache反向代理服务器。 除了失去进行预authentication的能力之外。 是什么原因使用微软的Web应用程序代理服务器VS Apache? 我们没有硬件负载平衡器。 谢谢! 编辑: 换一种说法。 使用NLB和ADFS服务器场,使用冗余Apache reverse_proxies(VRRP)+ mod_reverse_balancer来平衡ADFS服务器场与Windows应用代理服务器之间的负载有什么影响?

WordPress wp-admin在IIS ARR反向代理之后redirect循环

我有一个独特和有趣的设置,从我所能告诉的一个有趣的问题。 我有一个Windows Server 2012框作为我的主Web服务器托pipewebsite.com。 在http://website.com/sites/我有一个ARR反向代理设置,将所有内容都指向运行Apache的Debian框上的Wordpress WPMU安装。 这是重写规则configuration: 现在,一切工作正常,但搞砸了一件事是,如果我通过反向代理去任何wp-admin /页面,我得到一个redirect循环: 为了准确描述我所描述的内容,下面是我的.htaccess文件和我的wp-config.php文件 (省略了明显的东西)。 我觉得有趣的是,如果我改变我的本地主机文件指向我的域到Debian的IP地址,并绕过IIS ARR,那么WP – pipe理/工作得很好,没有问题。 这似乎是我的问题是IIS和Apache之间的翻译的地方? 我不知道要看什么,并进一步debugging。 任何帮助将超级赞赏!

使用Tomcat的基本身份validationApache

我有以下服务器设置: Apache Tomcat 7运行Atlassian的Jira( http:// <server-ip>:8081/tickets ) Apache 2.4 web服务器作为反向代理服务器,目前只提供jira应用程序,但还有更多( http://<server-ip>/tickets ) 现在,我想通过设置一个基本的authentication来限制对整个系统的访问(即http://<server-ip>/ * )。 这是唯一启用的Apache网站configuration如下所示: <VirtualHost *:80> <代理*> 要求所有授予 </代理> ProxyRequestclosures ProxyPreserveHost打开 ProxyPass /门票http:// localhost:8081 /门票 ProxyPassReverse /门票http:// localhost:8081 /门票 <位置/> AllowOverride AuthConfig AuthType基本 AuthName“限制内容” AuthUserFile /etc/apache2/.htpasswd 要求用户myuser </位置> </虚拟主机> 但是使用这个configuration,我在尝试login时遇到了一个问题。inputlogin数据后,login窗口popup,再次询问是否login。 经过三次尝试,tomcat返回了401错误! 应用程序,而不是Apache。 对于这个请求,apache的access.log和error.log都没有入口。 虽然Apache会logging错误凭据的请求。 如何configurationApache以将所有/tickets/*请求代理到Tomcat,同时强制客户端在访问/*时进行身份validation?

如何通过后端的ETag / Last-Modified字段更新Nginx反向代理caching?

我试图让我的Nginx反向代理正常工作。 但是,我发现一旦文件被caching,即使后端文件被改变,它也不会更新/重新生效,这可以通过ETag或LAST-Modified字段来识别。 有人可以请帮助我解决这个问题? 这是我的设置: proxy: proxy.test.com backend: back.example.com nginx设置: proxy_cache_path /home/cache levels=1:2 keys_zone=cache_rev:16m inactive=14d max_size=12g; proxy_cache_key "$scheme://$host$request_uri"; server { listen 80 default_server; resolver 74.82.42.42; server_name proxy.test.com; location ~ ^/ { proxy_pass http://back.example.com$request_uri; proxy_redirect off; proxy_buffering on; proxy_cache_revalidate on; proxy_pass_header Set-Cookie; proxy_cache cache_rev; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_cache_valid 200 1d; proxy_set_header […]

Nginx的代理图像/ JavaScript外部托pipe

我试图用nginx代理一个由外部主办的javascript和图片 我在https上运行我的网站,他们只通过http提供的文件,我已经有与他们有关的联系,但不能给时间线,当他们走了解决这一点。 所以没有我想在我的nginxconfigurationproxy_pass这些文件我有以下位置块 location /blogcounter/image { #rewrite ^/blogcounter(.*) /$1 break; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://widget.external-domain.tld/$uri$is_args?$args; } location /blogcounter.js { #rewrite ^/blogcounter(.*) /$1 break; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://widget.external-domain.tld/$uri$is_args?$args; } 我想在我的网页上的小工具是。 <a title="external-domain.tld" href="http://external-domain.tld/" id="hr-random_id" target="_parent"> <img src="https://my-domain.tld/blogcounter/image?image=red_s&blog_id=random_id" alt="alt-text" border="0"> </a> <script type="text/javascript"> var […]

NGINX是否支持SNI或者不支持?

编辑新的问题: NGINX可以检查TLS请求寻找SNI像HAProxy(等)吗? 根据我所读到的(据我所知),NGINX不应该支持SNI,我应该为HAProxyselectSSL透明的反向代理。 精细。 但是, 这似乎表明NGINX实际上支持SNI,但我无法find一个有用的文件。 也就是说,我能够find的所有东西都意味着我仍然必须向NGINX提供证书,以便能够匹配请求的主机名。 但是,这不就是SNI试图解决的问题吗? 现在,我开始在相同的IP地址上运行大量不同的HTTPS站点,因为在许多不同的configuration中维护相同的信息时,会花费很多代价,所以我想知道我是否更好开槽NGINX,并学习另一个软件(又名HAProxy),或者如果我真的可以坚持NGINX – 以及如何。 理想情况下,我希望代理为encryptionstream量提供一种透明的隧道,只有客户端和后端服务器(比如Apache或者其他正在运行的应用程序)应该能够解密它 – 这意味着我不必将证书信息保留在反向代理的configuration中。 这意味着我可以从这里走 server { listen 443 default ssl; server_name example.org; add_header X-Clacks-Overhead "GNU Terry Pratchett"; ssl on; ssl_certificate /etc/le_certs/example.org/live/example.org/fullchain.pem; ssl_certificate_key /etc/le_certs/example.org/live/example.org/privkey.pem; location / { proxy_pass_header Server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass https://exampleapp; } } […]

Nginxconfiguration代理后的Restful API

我试图将我的节点代理从端口8080移动到80并打墙。 我希望我的RESTful API在位于/api/path上的端口80上监听nginx反向代理。 ( 8080端口对于一些企业用户而言是无法访问的)。 我用来将请求指向https://domain.tld:8080 /到http:// localhost:1337 。 没有问题通过: server { listen 8080; server_name domain.tld; ssl on; #some other SSL config removed for clarity location / { proxy_redirect off; proxy_pass_header Server; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Scheme $scheme; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_connect_timeout 5; proxy_read_timeout 240; proxy_intercept_errors on; proxy_pass http://127.0.0.1:1337; […]