我想请问某人的帮助。 我浏览了很多包含Varnish教程和示例VCL文件的页面,但是我找不到与为MagentoconfigurationVarnish相关的任何内容(至less它们不能正常工作)。 我发现所有的手册在启动Varnish的时候都会抛出很多错误,而且它似乎适合旧版本。 (也没有任何magento模块PageCache&Varnish Extension不适合我,因为我认为Varnish本身并不正确) 我的问题: 1.我得到Varnish来caching前端,但是几乎打破了我的表单,支付模块,新闻订阅等等的所有function。 2.我发现改变“sub vcl_recv”中的一个单词会改变一切。单词是:return(lookup)。 这是我的“sub vcl_recv”的代码: sub vcl_recv { if (req.http.x-forwarded-for) { set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip; } else { set req.http.X-Forwarded-For = client.ip; if(server.ip ~ a168_144_38_181){ set req.backend = b168_144_38_181; } } if (req.url ~ "^/images") { unset req.http.cookie; } if (req.url ~ "^(/index.php)?/(admin|customer|checkout|add|product_compare|switch|___store|referer|contact|chat|payone|sendfriend|review|api|NOCACHE|post|robots.txt|j2tajaxcheckout|cron.php|varnish)") { […]
FWI,感谢下面的Vadym的评论,我发现我忽略了在我的Plesk服务器上启用mod_proxy_http。 加载这个模块(和mod_proxy一起)修正了原来的错误。 我正在尝试在vhost.conf中configuration反向代理规则。 我在Ubuntu-8.04上安装了Apache-2.2.8,由Plesk-10.4.4监控。 我想要实现的是定义一个反向代理规则,将所有stream量都推迟到-say- http:// mydomain / tomcat /到端口8080上运行的Tomcat服务器。我在Apache中加载了mod_rewrite和mod_proxy。 据我了解mod_proxy文档,在/var/www/vhosts/mydomain/conf/vhost.conf中input以下规则应该工作: <Proxy *> Order deny,allow Allow from all </Proxy> ProxyRequests off RewriteRule ^/tomcat/(.*)$ http://mydomain:8080/$1 [P] 然而,当请求上面的URL时,我得到一个HTTP 500:内部服务器错误。 (注:我决定使用重写规则,以便至less获得一些logging的信息。) 我做了mod_rewrite日志广泛,并find日志中的以下条目[注:由于最大限制。 2个新用户的post中的URL,我已经修改了所有下面的URL,以便它们在http:后面只包含1个斜线。 如果你怀疑错别字:这是故意的): (2)init请求的uri / tomcat / testApp / init的重写引擎, 81.241.230.23 – – [19 / Mar / 2012:16:42:59 +0100] [mydomain / sid#b06ab8] [rid#1024af8 / initial](3)应用模式'^ / tomcat […]
我正在寻找一个REST代理在IIS上运行,这样一个https GET / POST / DELETE等可以“原样”转发到另一个REST服务器来实现,并且还可以返回结果。 我已经做了一个search,但除了想要转换协议的人之外找不到任何东西。 哪些REST代理可以在IIS上运行?
出于某种原因,Apache仍然看到我的SERVERS IP。 这是一个nginx问题吗? /etc/nginx.conf user nobody; # no need for more workers in the proxy mode worker_processes 4; error_log /var/log/nginx/error.log info; worker_rlimit_nofile 20480; events { worker_connections 5120; # increase for busier servers use epoll; # you should use epoll here for Linux kernels 2.6.x } http { server_name_in_redirect off; server_names_hash_max_size 10240; server_names_hash_bucket_size 1024; include mime.types; […]
我在专用的服务器上运行Debian Squeeze,将其用作Web和数据库服务器(nginx,apache和mysql)。 我跟着几个关于如何设置nginx作为apache的反向代理的教程 – 大部分工作正常,我不得不说 – 哇,nginx是非常快的。 但是,他们也是我在“testing”期间遇到的一些问题。 在这里,我希望serverfault能够帮助我的人。 🙂 所以让我先给你看我完整的configuration和解释场景。 脚本 要pipe理服务器上的客户端,我正在使用ISPConfig控制面板,configuration为处理Apache(您可以selectNginx或Apache之间)。 因为我不希望客户端必须configuration特殊的重写规则等我试图调整nginx非常透明,这意味着它确实只提供静态文件和所有其他请求传递给Apache,所以重写规则等仍然工作。 组态 我目前拥有的是: 一个正常的Apache安装,监听端口82 mod_rpaf启用转发真正的IP到Apache nginx使用以下configuration安装: /etc/nginx/nginx.conf user www-data; worker_processes 4; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 2048; } http { include /etc/nginx/mime.types; access_log /var/log/nginx/access.log; sendfile on; tcp_nopush on; keepalive_timeout 4; tcp_nodelay on; # Hide version information server_tokens off; # Include […]
我们有一个运行Apache HTTP服务器的前向Linux框,它充当了几个后端服务器的反向代理。 服务器通过特定的域名和端口进行访问,并在Apache中作为虚拟主机进行设置: Listen 8001 Listen 8002 <Virtualhost *:8001> ServerName service.one.mycompany.com ProxyPass / http://internal.one.mycompany.com:8001/ ProxyPassReverse / http://internal.one.mycompany.com:8001/ RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* – [F] </Virtualhost> <Virtualhost *:8002> ServerName service.two.mycompany.com ProxyPass / http://internal.two.mycompany.com:8002/ ProxyPassReverse / http://internal.two.mycompany.com:8002/ RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* – [F] </Virtualhost> 代理服务器只有一个IP地址,两个域都指向它。 通过service.one访问internal.one可以正常工作,就像通过service.two访问internal.two一样。 现在的问题是Apache访问虚拟主机时不考虑请求域。 我的意思是这两个域都适用于两个端口:service.one:8002代理服务器对internal.two:8002的请求,以及service.two:8001代理服务器对internal.one:8001的请求,理想情况下这两个请求都应该是否认。 我可以通过创build更多显式拒绝这些请求的虚拟主机来解决这个问题: NameVirtualHost *:8001 NameVirtualHost […]
第一次发布, 我有一个全新的安装Ubuntu的12.04客户端作为我们的内部networking的反向代理网关。 我们的设置是我们有一个外部IP但有三个域名,我们希望指向我们内部networking上的各种networking服务器。 这不仅仅是一个负载平衡问题或者caching等问题。仅仅是将一些客户端浏览器路由到一个80端口的网页(遵守一些更严格的关于在域名之后放置端口号的公司政策)。 我已经与英镑走了,似乎一切工作正常。 静态页面加载等。 除了基于Flash / Flex的WebClient用于数字资产pipe理程序之外,一切都很好。 实际的静态页面加载正常,只是在input凭据的时候,无论是正确的还是不正确的,login,没有任何反应。 无论是拒绝还是确认等。因此,回到内部服务器的请求无法通过。 我已经GOOGLE了广泛,可能有一个crossdomain.xml文件中的解决scheme? 文档不是很清楚。 而且我们不是DAM应用程序的作者,也不能控制Flash / Flex端的代码。 问题: 英镑是否有一个特定的configuration文件/解决scheme,允许Flash / Flexauthentication信息被转发? 是否有另一个反向代理程序(nginx?),允许这种types的configuration? 我是这样看错的吗,Flash / Flex基本上不允许有这个访问吗?
我已经编译nginx与mod_security支持。 在错误日志中,我可以看到对mod_security的支持 2012/08/27 11:13:11 [info] 602096#0:ModSecurity for nginx / 2.7.0-rc2( http://www.modsecurity.org/ )已configuration。 2012/08/27 11:13:11 [info] 602096#0:ModSecurity:APR编译版本=“1.4.2”; 加载版本=“1.4.2” 2012/08/27 11:13:11 [信息] 602096#0:ModSecurity:PCRE编译版本=“8.2”; loaded version =“8.02 2010-03-19” 2012/08/27 11:13:11 [信息] 602096#0:ModSecurity:加载的PCRE与编译不匹配! 2012/08/27 11:13:11 [信息] 602096#0:ModSecurity:LIBXML编译版本=“2.7.8” 我已经加载了ModSecurityConfig和ModSecurityEnabled ModSecurityConfig /usr/local/nginx/conf/modsecurity/modsecurity_crs_41_sql_injection_attacks.conf; ModSecurityEnabled打开; 但我不能让mod_security工作。 攻击可以通过,我不会在日志文件中的错误。 我是否需要添加任何额外的configuration来启用ngix的mod_security? 注意:我使用nginx作为反向代理 谢谢
我们在后端使用proxy_intercept_errors( http://wiki.nginx.org/HttpProxyModule#proxy_intercept_errors )。 我们拦截了一些状态代码,包括几个5xx状态代码。 我们的5xx(每个500有它自己的)处理程序都有一个access_log,所以我们可以看到所有5xx错误返回给用户在一个很好的干净的logging格式。 这个问题是,现在,我们不能告诉天气5xx是由nginx返回给用户或从我们的后端截获。 有什么办法可以区分两者? 谢谢。
我有一些规则 <Location /xyz> ProxyPass http://example.com/abc … </Location> 我想接受http://mypage.lan/xyz/123的请求并发送http://example.com/abc/123的数据。 我需要接受POST请求,但我不想将正文内容发送到example.com。 我想发送一个GET请求,但是Content-Length:0的POST请求也可以。 是否有可能,configurationApache 2不推动请求正文?