我有loadbalancer服务器和边缘。 我正在尝试configuration反向代理以隐藏后端服务器PL1,2,3。 PL 1,2,3不在同一个子网内。 他们位于不同的地点。 PL1 Lb1 -> PL2 PL3 我试图configurationApache反向代理,但它没有发送请求到PL1,2,3。 反向代理只有当我configurationApache发送请求到本地服务器在其他端口上工作。 ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /PL1 http://PL1server.com/ ProxyPassReverse /PL1 http://PL1server.com/ 上述configuration没有奏效。 你能帮我解决这个问题吗? 还是有其他代理types,如Squid,Socks5来解决这个问题。 如果我们在ProxyPass和ProxyPassReverse中使用IP地址或域URL,反向代理是否会失败?
我试图让Kibana在特定的web目录下运行在nginx后面。 或者换一种说法,我试图让nginx反向代理http://example.com/kibana到http://localhost:5601/ ,这是Kibana sinatra应用程序运行的地方。 我已经用一个初始化脚本启动了Kibana,如果我从服务器上curl localhost url,我会得到预期的响应。 然而,导航到http://example.com/kibana/给我的信息, Sinatra doesn't know this ditty. 并build议/kibana/应该做些什么。 据推测,这是一个路由问题。 我的nginxconfiguration是这样的: server { listen 80; ## listen for ipv4; this line is default and implied listen [::]:80 default ipv6only=on; ## listen for ipv6 root /var/www; index index.html index.htm; # Make site accessible from http://localhost/ server_name _; location / { # […]
安装程序:2 Webservers指向127.0.0.1:8080和:8081。 curlvalidation他们按预期工作。 Apache与以下虚拟主机: NameVirtualHost 192.168.1.1:80 <VirtualHost 192.168.1.1:80> ServerAdmin [email protected] ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ ServerName 192.168.1.1 ServerAlias http://192.168.1.1 </VirtualHost> NameVirtualHost 192.168.1.2:80 <VirtualHost 192.168.1.2:80> ServerAdmin [email protected] ProxyPass / http://127.0.0.1:8081/ ProxyPassReverse / http://127.0.0.1:8081/ ServerName 192.168.1.2 ServerAlias http://192.168.1.2 </VirtualHost> 在服务器上,我可以curl到虚拟主机并接收适当的响应。 (curl 192.168.1.1给了我来自localhost:8080的webservers响应等) 远程主机不能连接到192.168.1.1或.2。 我错过了什么? Re:评论 是的,默认目录指令仍然存在。 # Deny access to root file system <Directory /> Options […]
我有端口80上的nginx和端口8080上的apache在同一台服务器上。 我已经configurationnginx,使其作为反向代理(我不知道它的工作与否)使用本教程htt://tumblr.intranation.com/post/766288369/using-nginx-reverse-proxy。 我遵循的步骤来validation代理。 在5秒的时间间隔内在两台不同的机器上打开相同的页面。 但在Apache的access.log每个请求显示200响应代码。是否表明caching不工作? 而nginx access.log没有显示任何内容。
我有一个运行Apache2的Ubnutu 12.04服务器,configuration为反向代理。 Apache已进一步configuration为通过LDAP进行基本身份validation。 一切工作正常,除了performance有点滞后。 LDAPauthentication指令是: <Location /> AuthType Basic AuthBasicProvider ldap AuthName "Secure Intranet" AuthLDAPURL ldaps://virt-ldap.mylan.int:636/ou=MyCorp,dc=mylan,dc=int AuthzLDAPAuthoritative on AuthLDAPGroupAttribute memberUid AuthLDAPGroupAttributeIsDN off Require ldap-group cn=development,ou=groups,ou=MyCorp,dc=mylan,dc=int </Location> 经过检查,我注意到,Apache的每一个请求都会返回到我的OpenLDAP服务器,为特定用户运行search/绑定。 根据代理后面站点的HTML,一些请求(例如JIRA)可能导致通过LAN的10或15个search/绑定LDAP调用。 我知道这一点,因为我在浏览时拖拽OpenLDAP日志。 哎呀! 根据Apache2的ldap文档 ,默认情况下,mod_ldap应该caching这些东西。 考虑到文档可能是错误的,我在ldap.conf中添加了这些指令: LDAPSharedCacheSize 500000 LDAPCacheEntries 1024 LDAPCacheTTL 600 LDAPOpCacheEntries 1024 LDAPOpCacheTTL 600 但是没有什么区别。 编辑: 在服务器上使用lynx访问https://localhost/ldap-status返回了以下内容: LDAP Cache Information Cache Name Entries Avg. Chain Len. […]
我有.NET Web应用程序在防火墙后面的IIS上运行。 应用程序正在使用Windows身份validation(NTLM)来validation用户。 我需要使这个应用程序可以从互联网访问,所以: 当用户尝试访问应用程序时,会显示login表单,由[反向代理]生成。 用户inputlogin名和密码并提交表格。 [反向代理]将外部凭据与Windows凭据匹配,我们可以将Windows域login名和密码存储在某个数据库中。 [反向代理]使用提供的凭证提供对Web应用程序的访问。 为了清楚起见,我不希望NTLM传递给用户,反而需要[Reverse Proxy]对用户的行为讲IIS。 用户可以input不同的凭证,可以使用其他authenticationtypes(Google,FB等),[Reverse Proxy]将外部帐户与内部帐户匹配。 例如,员工将configuration他们想要用来访问Intranet门户的外部帐户。 我有什么select? 我可以使用Nginx或Squid来实现这种情况下自定义模块/插件的帮助?
我目前正在Apache的前面运行所有HTTPstream量的清漆。 我添加了stunnel以便利用HTTPS连接的caching。 因此,对于HTTPS,stunnel会与清漆交谈,然后与Apache交谈。 问题是,当清漆将caching的页面返回到stunnel时,stunnel通过HTTPS将其发送到客户端,但其余资源(例如css文件,js文件等)由客户端通过普通HTTP请求。 我想这是由于caching页面包含链接到只有HTTP资源。 我的问题是: 这是反向SSL代理的常见问题? 有什么办法来防止这种forms发生? 比方说,我有一个域www.example.com,我希望它只能通过HTTPS访问,我也希望http://www.example.com不要返回404,而是要redirect到https:// www .example.com 。 这怎么能避免循环(即清漆redirect到通道,然后通过HTTP再次从清漆请求页面,然后又重新导向通道等)。 有没有什么方法可以让stunnel插入一个头文件,varnish会查找,以便在头文件不存在的情况下不执行任何redirect?
我试图让Salesforce.com连接到一个位于我们公司networking内部的biztalk实例。 在这之间,是一个反向代理和一系列防火墙。 当对反向代理进行标准HTTP请求时,biztalk服务器响应正确。 重要的是要注意,反向代理本身似乎正常工作。 我需要做的是启用安全性,限制授权客户访问此Web服务。 最初,这只是Salesforce.com。 Salesforce.com已经提供了他们的SSL证书进行身份validation,我已经把这个证书放在了httpd.conf文件和SSLCACertificateFile指令中。 SSLVerifyClient require SSLVerifyDepth 1 SSLCACertificateFile /opt/apache/veri/auth.crt 当SalesForce连接并且正在使用这些指令时,会生成错误“javax.net.ssl.SSLPeerUnverifiedException:peer not authenticated”。 删除SSLVerifyClient需要,恢复正常的操作。
我有我的Apache服务器端口80上运行。 我还有一个在Jetty 8080端口上运行的Geoserver。为了避免JavaScript中的跨域问题,我希望任何来自http://example.com/geoserver请求代理到http://servername:8080/geoserver 我目前正在使用Virtual_host和mod_proxy来做到这一点。 我的httpd.conf有以下代码: <VirtualHost *:80> ProxyPass /geoserver http://localhost:8080/geoserver ProxyPassReverse /geoserver http://localhost:8080/geoserver </VirtualHost> 现在我需要Apache作为另一个在端口5000上使用node.js运行的应用程序的反向代理。如果我在http.conf中添加下面的代码: <VirtualHost *:80> ProxyPass /DocHub http://localhost:5000 ProxyPassReverse /DocHub http://localhost:5000 </VirtualHost> 我在Apache日志中看到以下警告: _default_ VirtualHost overlap on port 80, the first has precedence 。 而对http://example.com/DocHub的请求会给出404错误。 有没有一种方法可以将Apache用作多个站点的反向代理? 有没有另外一种方法来实现我想要做的事情?
我有一个expressjs在一些端点上做出部分回应的后端。 伪代码是这样的: function (req, res, next) { res.writeHead(200, { 'Content-Type': 'application/json' }); request.a.file(function response (middleChunk) { res.write(middleChunk); }, function final (endingChunk) { res.end(endingChunk); }); } 直接使用curl -v到expressjs实例就像一个魅力一样,逐步显示消息,最后是endingChunk ; 但是我没有直接在我的主机上使用expressjs,但是我使用了一个使用nginx制作的反向代理,它的configuration就是这样的: server { listen 80; server_name funnyhost; root /directory; location ~/api/.* { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_read_timeout 600s; proxy_buffering off; } } proxy_buffering off使服务器响应一些事情: ~$ curl -v […]