Articles of 反向代理

JIRA端口和Apache反向代理

我试图build立一个Apache的反向代理和与JIRA绑定的Tomcat实例。 我已经按照在JIRA维基上的指示一个T.这个网站在http://ourdomain:8080/jira就好了,所以我知道Tomcat的server.xml文件已经被正确设置了说明。 但是,我无法获得Apache反向代理的工作原因,尽pipe我阅读了大量阅读。 我在Ubuntu上运行Apache2.2,当然是启用了mod_proxy和mod_proxy_http。 default网站工作正常; 我的网站configuration只是一个修改版本。 这是我在/etc/apache2/sites-enabled/jira的jira虚拟主机configuration: <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName ourdomain.com DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log […]

阻止Apache反向代理某些HTTP方法

我使用apache作为Rails应用程序服务器上的ruby的反向代理。 当使用非标准HTTP方法接收到HTTP请求时,会在应用程序服务器中导致出现一些有关环境的细节的错误。 我可以防止Apache转发请求,除非HTTP方法匹配的安全,标准的方法之一? [编辑] 以Shane的回答为指导,我提出了以下内容,以供参考。 RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST|OPTIONS) RewriteRule .* – [R=405,L] 我发现否定检查更容易,允许apache返回正确的响应代码(405是方法不允许),并且意味着所有的代理configuration的东西是不变的(即你可以使用ProxyPass或ProxyPassMatch)

Nginx反向代理嵌套位置

我使用Nginx作为多个服务器中的多个应用程序的反向代理,我试图将通用caching指令添加到每个应用程序的静态文件。 我原来的configuration是这样的: location /app1{ … proxy_pass http://127.0.0.1:8081/app1; } location /app2{ … proxy_pass http://127.0.0.1:8082/app2; } … 要添加静态文件指令,我可以添加一个嵌套的位置,像这样的每个位置: location /app1{ … proxy_pass http://127.0.0.1:8081/app1; location ~* \.(css|js|ico|gif|jpg|jpeg|png)$ { expires 1d; … proxy_pass http://127.0.0.1:8081; } } location /app2{ … proxy_pass http://127.0.0.1:8082/app2; location ~* \.(css|js|ico|gif|jpg|jpeg|png)$ { expires 1d; … proxy_pass http://127.0.0.1:8082; } } 由于我有像30个应用程序的东西,我试图简化代码如下所示: location /app1{ … proxy_pass http://127.0.0.1:8081/app1; include […]

将站点的login页面redirect到最后带有“/#/”的URL的原因是什么?

将站点的login页面redirect到最后带有“/#/”的URL的原因是什么? 我公司的系统pipe理员使用Apache反向代理,并且总是将所有外部网站redirect到以“/#/”结尾的login页面。 例如: https://example.com/springApp/#/ 这有什么特别的原因吗? 我是一个技术人员,但我想不出一个原因。 只是好奇。 注:我们的网站不使用页面滚动锚点。

Apache 2.2,通过ip.ip.ip.ip /文件夹将localhost:3000上的服务器暴露给外部

期望: localhost:3000在ip.ip.ip.ip/folder 现实: ip.ip.ip.ip/folder打开,但包含ip.ip.ip.ip/css/style.css和JS等链接。 目标:(apache conf?)以这样的方式重写所有的链接: ip.ip.ip.ip/folder/css/style.css和JS等等。 它似乎应该作为localhost:3000不使用亲属的URL,但不知道它不。 我不理解什么,我该如何解决? 现场: <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> RewriteEngine […]

在Apache上为一个IP提供多个HTTPS站点

我有一台拥有公共IP的计算机,通过HTTPS上的dav_svn服务于SVN存储库; 现在我需要安装Redmine并在HTTPS上提供它。 我还需要能够使用IP地址连接到两个站点/应用程序,因为我不能信任内部DNSparsing,也不能编辑主机文件。 什么是最好的解决scheme? 在localhost上移动SVN是可行的:SomePort,Redmine到localhost:SomeOtherPort并且安装一个HTTPS反向代理(如Pound )来redirect使用模式/ URL匹配的连接?

带有可选SSL的Squid反向代理

我试图设置鱿鱼作为一个负载平衡反向代理,我有点麻烦的SSL。 网站的其中一个应用程序检查是否通过SSL加载站点,如果情况不同,则performance出不同的行为,所以我需要通过SSL代理SSL连接,并且在没有代理的情况下代理非SSL连接。 现在,鱿鱼服务器接受通过HTTP和HTTPS的连接,但它只通过HTTP连接到上游服务器。 我的鱿鱼configuration有趣的部分是这样的: http_port 80 vhost vport https_port 443 vhost vport cert=/etc/cert.pem key=/etc/cert.key cache_peer 10.0.0.10 parent 80 0 originserver round-robin cache_peer 10.0.0.11 parent 80 0 originserver round-robin 有一种简单的方法可以告诉它通过SSL代理上游的SSL连接,而让其他人独立?

Apache:将特定的URLredirect到不同端口上的本地服务器

这看起来很简单,但是我不能使它工作。 我有一个漂亮的web服务器,只需要做两件事情: example.com/status.html返回一个本地文件(这个工作) example.com/atom在端口4000上redirect运行在同一台计算机上的防火墙服务器的内容 这不起作用: RewriteRule ^$ http://localhost:4000 从请求者的angular度(即在客户端的机器上)将stream量重新定向到localhost:4000。 我对VirtualHost的有限理解表明,这对于像atom.example.com,而不是example.com/atom 我想我必须使用ProxyReverse,但我找不到合适的组合。 更新:尝试由Shane Madden给出的ProxyPass / ProxyReversebuild议在错误日志文件中产生: [Thu Mar 15 11:59:15 2012] [error] (13)Permission denied: proxy: HTTP: attempt to connect to 127.0.0.1:4000 (localhost) failed [Thu Mar 15 11:59:15 2012] [error] ap_proxy_connect_backend disabling worker for (localhost) [Thu Mar 15 11:59:17 2012] [error] proxy: HTTP: disabled connection for (localhost) […]

Tomcat和nginx大小

我使用nginx作为反向代理来pipe理部署在Tomcat服务器上的应用程序。 我需要一些帮助来确定线程池/连接池的大小/ …我find了很多描述不同参数的文档(Tomcat执行者,nginx工作者,keepalive,…),但是没有太多文档解释如何find正确的尺寸。 我不确定我是否正确理解文档。 例如,我在我的nginx监控图中看到,我有大约350个活动连接,30个写入连接和320个等待连接。 我每秒约有30个请求。 我在Tomcat服务器上configuration了200个线程来处理HTTP处理。 我有1个工作进程nginx与1024个工人连接。 从我所了解的文档中,等待的连接是HTTP1.1保持连接。 但是我也明白,nginx只是将HTTP1.0作为代理。 我有点困惑。 这些等待连接的消耗Tomcat线程什么都不做? 你知道一个关于调整Tomcat / nginx(或另一个反向代理,概念应该是相同的)的好资源。 谢谢你的帮助!

nginx反向代理大大增加了最坏情况下的延迟

(编辑:部分理解和解决,见评论) 我有一个设置与Nginx作为一个CherryPy应用服务器前面的反向代理。 我使用ab来比较通过nginx和不通过的性能,并且注意到前一种情况的最坏情况性能要差得多: $ ab -n 200 -c 10 'http://localhost/noop' This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 100 requests Completed 200 requests Finished 200 requests Server Software: nginx Server Hostname: localhost Server Port: 80 […]