有没有人有一些提示或示例如何configurationApache Http Server 2.2上的这种反向代理安排? 我支持我们在多个环境中开发的Java Web应用程序。 在多个环境中,我的意思是我们在不同端口的同一个主机上运行一个Tomcat服务器的几个实例:development = 9443,QA = 10443,production = 11443 Java Web应用程序的devise使您可以在一台服务器上托pipe多个应用程序:每个应用程序都可以在自己的根上下文中访问。 如果你不熟悉这个技术,基本上,这意味着我的所有应用程序的页面都在https://myhost.mydomain.com/myapp的/ myapp后面。 Java Web应用程序还需要使用Cookie来维护会话状态,因此任何反向代理解决scheme都需要确保将代理主机名转换回外部主机名。 我们目前通过代理https://public.mydomain.com/myapp到https://tomcatserver.mydomain.com:11443/myapp的Apache反向代理将生产的Tomcat实例共享到互联网。 我们希望打开QA Tomcat实例到互联网,以便betatesting者能够到达它,但是https://publicserver.mydomain.com/myapp URL已经被设置为生产。 所以我们试图build立第二个代理,将https://publicserver.mydomain.com/beta映射到https://tomcatserver.mydomain.com:10443/myapp 。 这是我到目前为止所尝试的,但它不工作。 这两个地址(/ myapp和/ beta)总是以生产Tomcat实例结束。 <VirtualHost *:443> ServerAdmin [email protected] ServerName public.mydomain.com ServerAlias public # Proxy to production environment on tomcatserver ProxyPass /myapp/ https://tomcatserver.mydomain.com:11443/myapp/ ProxyPassReverse /myapp/ https://tomcatserver.mydomain.com:11443/myapp/ <location /myapp/> SSLRequireSSL On SetOutputFilter […]
我在Windows 2008上有一个Apache 2.4服务器,作为一个反向代理工作得很好。 它提供在Glassfish 3.0上运行的LifeRay 6.0安装的内容。 最初,当我们实施https永久性redirect时,我们不能再loginLifeRay,但是现在我已经解决了这个问题。 一旦我们login到Liferay,连接是安全的,但仍然可以将https更改为http,页面将显示为http连接,而不会恢复为https。 而且,到站点的初始连接可以使用http,如果用户没有login,站点将继续使用http连接。 再次,我虽然redirect永久会强制所有HTTPstream量为https。 Apache向用户提供SSL连接,proxypass指令在不安全的端口上连接到LifeRay,这不是问题,因为内部连接是虚拟的,不能从Internet访问。 所以,我虽然有configuration钉在这个,但我必须失去一些东西,因为我似乎能够访问该网站与http时,我认为永久redirect会阻止。 ProxyPassReverse应该是https而不是http? 这是configuration: testing服务器 <VirtualHost *:443> ServerName test.myexternalserver.org # ProxyPreserveHost On SetEnv proxy-sendchunked SSLEngine on ProxyPass / http://192.168.80.196:8080/ ProxyPassReverse / http://192.168.80.196:8080/ </VirtualHost> <VirtualHost *:80> ServerName test.myexternalserver.org ProxyPreserveHost On SetEnv proxy-sendchunked Redirect permanent / https://test.myexternalserver.org/ ProxyPass / http://192.168.80.196:8080/ ProxyPassReverse / http://192.168.80.196:8080/ </VirtualHost>
为了改进search引擎优化,我需要将支持SSL的站点https://www.company.com/support代理到启用SSL的第三方支持站点https://company.custhelp.com ,同时所以用户只能在浏览器中看到以前的url(www.company.com/support)。 由于这是一个支持网站的某些方面的URI(会话ID)以及cookies需要维护。 达到这个目标所需要的最好的方式或应用是什么?
我有一个运行Apache和Tomcat的服务器。 Apache的function如下: 反向代理Tomcat 提供静态文件 Tomcat的: 提供dynamic内容 Apache正在从以下位置提供静态文件 在/ var / WWW /上传 的/ var / WWW /图像 Tomcat正在8080端口上运行 我现在的工作如下: http://www.domainname.com/app >>> proxypass/proxyreversepass >>> http://localhost:8080/app/ http://www.domainname.com/upload >>> /var/www/upload 我想要做的是:www.domainname.comredirect到Tomcat,同时还有Apache提供的www.domainname.com/upload和hwww.domainname.com/images。 做这个的最好方式是什么? 有一个redirect规则? 或者像“ProxyPass / upload!”这样的条目工作?
我需要Apache Tomcat作为反向代理(这是一个需求),用于其他两个服务(声纳和jenkins),这些服务以独立模式运行,每个服务在不同的端口上。 我的客户想要访问他们sonar.clienturl.com和jenkins.clienturl.com。 我以为使用Apache作为这种情况下的反向代理,因为我无法使Tomcat运行这两个应用程序(及其相应的.war文件),因为CPU利用率高的问题。 我search了如何做到这一点,并find了可以完成这项工作的J2EP插件。 但是我找不出应该使用哪个规则。 我需要将来自sonar.clienturl.com的所有请求“redirect”到localhost:9000和jenkins.clienturl.com到localhost:8080 似乎做的工作唯一的filter是RewriteRule ,但我的正则expression式不起作用。 “from”参数设置为"^sonar\.clienturl\.com(.*)" ,“to”设置为“localhost:9000 $ 1”。 我知道这个规则不会导致任何匹配,因为当没有规则被发现的时候,我被redirect到页面。 我怎样才能达到我的目标(有或没有这个插件)? ps:使tomcat直接运行这两个应用程序并设置虚拟主机不是一个选项。
我正在努力尝试通过salesforce.com的Apache反向代理获取SSL消息。 当他们试图向我们发送消息时,我得到了403(禁止)的错误。 我已经validation代理正在通过Web浏览器从后端Web服务请求WSDL并且没有SSLauthentication,它可以从IE / FireFox /等工作。 如果我完全closuresSSLRequire,SFDC不会报告错误,并删除该消息。 不幸的是,没有消息发送到我的Apache服务器。 我没有日志,没有消息。 我相信我要使用SSLRequire指令来确定SSL消息的发件人是谁。 SSLRequire(%{SSL_CLIENT_S_DN_CN} eq“proxy.salesforce.com”) Salesforce.com为我提供了公钥,因为CN实际上是proxy.salesforce.com: 证书: Data: Version: 3 (0x2) Serial Number: 0c:9e:22:84:5f:b8:55:8c:cb:c5:bf:aa:01:2a:7b:23 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA – G3 Validity Not Before: Dec 7 00:00:00 2011 GMT Not After […]
我已经configuration了一个Apache服务器与SSL和反向代理到一个tomcat <VirtualHost domain.com:1443> […] ProxyRequests Off ProxyPreserveHost On ProxyPass / http://local.com:8080/ ProxyPassReverse / http://local.com:8080 SSLEngine on […] </VirtualHost> Tomcat正在监听8080.问题是,tomcat上的应用程序正在redirect请求(HTTP 302 Moved temporairly)。 例如,如果我使用URL https:// domain.com:1443/folder,反向代理启动请求http:// local.com:8080/folder,那么应用程序将redirect到“/ subfolder”,所以最终请求是: http : //domain.com : 1443/folder/subfolder 。 结果是一个400错误的请求错误代码,因为请求是在我的SSL端口上的HTTP。 你知道我怎么能解决这个问题? 提前致谢。
我有一个应用程序,我必须做一些整合,使用Jettynetworking服务器。 做这个应用程序的公司向我介绍了如何使用IIS来充当反向代理,并使用应用程序请求路由将所有stream量转发到docker服务器。 指示是: 1) Create a Server Farm in IIS 2) Create a URL Rewrite rule to direct all traffic to the server farm. 查看URL重写规则,它使用通配符匹配(*)将所有通信路由到已设置的服务器场。 这对我来说是有问题的,因为现在这个服务器上的每个网站都试图将stream量redirect到docker服务器。 有没有一种方法,我可以只有一个IIS站点的stream量redirect到服务器场的stream量? 具体细节如下: Jetty Web服务器托pipe其网站: http://mymachinename:7777/foo 我有一个IIS网站运行在:(我不想从这里的stream量到Jetty) http://mymachinename:50295 如果我在这个URL获取请求,我想redirect到docker: http://mymachinename:8888/*
我一直在互联网上search解决scheme或最佳做法,无济于事。 我一直在玩Virtual Box的Ubuntu服务器实例,并试图复制一个服务器环境,我可以使用它来托pipe一个我一直在思考的Web应用程序。 我真的很喜欢在一堆nodejs进程前面使用NGINX作为负载平衡器和静态文件服务器。 基本上,我在我的电脑上安装了一系列的Ubuntu Server虚拟机。 我有一个互联网面向虚拟机与NGINX安装三个额外的上游服务器设置为内部networking。 我有NGINX机器在与三台上游机器相同的内部networking上,以及在一个单独的桥接networking适配器上。 所有四台机器都可以互相ping通,只有NGINX反向代理才能访问互联网。 我的问题是,更新服务器的最佳方式(甚至是一种好方法),而不会对支持反向代理的安全性带来不利影响? 我的理解是,使用反向代理的好处之一是,它只为攻击者创build一个访问点来攻击你的服务器,尽pipeXSS / SQL注入漏洞。 我应该让我的上游服务器临时访问互联网来更新应用程序,还是将逆向代理服务器同时设置为正向代理服务器? 感谢您的帮助!
前言: 我已经configuration了一个具有多个虚拟主机的公共访问服务器 一个虚拟主机的请求需要发送到后端服务器。 所有其他请求都需要在本地进行。 问题: 一旦需要代理的网站被启用,所有虚拟主机的请求将被传递到ProxyPass指令中指定的IP地址。 当我尝试访问任何其他虚拟主机时,我从代理网站上获取网页。 禁用代理网站时,所有其他虚拟主机恢复正常操作并在本地进行服务。 configuration: 我在虚拟主机可公开访问的服务器上的configuration:(其他虚拟主机是同一个configuration的副本) <VirtualHost *:80> ServerName www.mainsite.com ServerAlias mainsite.com ServerAdmin [email protected] DirectoryIndex index.php DocumentRoot /var/www/mainsite.com <Directory /> AllowOverride None </Directory> LogLevel info ErrorLog /var/log/mainsite.com_err.log CustomLog /var/log/mainsite.com_access.log combined </VirtualHost> 我在可公开访问的虚拟主机上进行代理的configuration: <VirtualHost *:80> ServerName calendar.othersite.com ServerAdmin [email protected] ProxyRequests Off <Location /> ProxyPass http://192.168.0.1/ ProxyPassReverse http://192.168.0.1/ </Location> <Proxy> Order Allow,Deny Allow […]