我将IIS 7.5与应用程序请求路由和URL重写模块一起用作几个基于apache的网站(包括VisualSVN Server)的反向代理。 当我尝试提交Web.config文件时遇到问题,TortoiseSVN给了我下面的错误: 发送内容:C:\ Users \ Tim Long \ Desktop [obfuscated] \ www \ 1 \ admin \ Comments \ Web.config错误:提交失败(详情如下):错误:'/ svn / TiGra /!svn / wrk / 852c5a84 -a682-2847-8b29-6d5b353ff786 / trunk / Webs / [obfuscated] /www/1/admin/Comments/Web.config'错误:path not found完成!: 在IIS日志中,我看到一个404没有find: 2011-08-05 17:47:05 192.168.162.52 PUT / svn / TiGra /!svn / wrk / 852c5a84-a682-2847-8b29-6d5b353ff786 / […]
我在Apache 2.2.19中有这个非常简单的反向代理规则: ProxyPass /test http://other.local.machine/test ProxyPassReverse /test http://other.local.machine/test 问题是,似乎mod_proxy转义Location标题中的特殊字符,但其中的特殊字符已经逃脱(例如,空格变为%20 )。 所以,最后,一个简单的空间被转换为fugly序列%2520 。 Location头已经被转义的原因是它们是由RewriteRule指令生成的,默认情况下它会转义字符。 我怎样才能解决这个问题?
我有一个Ruby on Rails网站,它是在一个nginx反向代理背后的独angular兽web服务器上托pipe的。 我想评估,如果使用spdy将提高我在这个设置下的performance。 具体来说,我需要下面的指示: 使用反向代理无效使用spdy的收益? 我可以使用什么性能/负载testing工具来评估使用spdy的收益? 有没有办法强制nginx只能说spdy? 关于第二个问题,我发现neoload和loadrunner 12确实支持spdy。 随着neoload我有麻烦得到它认识到我的服务器使用spdy尽pipechrome:// net-internals /#spdy和http://spdycheck.org/告诉我,它是使用spdy(我使用spdy 3.1,当我用斯马迪2 neoload确实认出它)。 随着loadrunner我还没有find一种方法来确保它是testingspdy。 我正在使用spdy_url函数,但文档不告诉我,如果spdy_url保证我在下面使用spdy。 可以肯定的一种方法是将nginxconfiguration为只能说spdy(第三个问题)。
我在CentOS6.5服务器上使用GitLab Omnibus。 gitlab nginx服务器监听6543端口(Apache已经使用80和443)。 我想使用Apache作为反向代理来访问GitLab的地址:gitlab.example.com而不是example.com:6543 所以我添加一个Apache虚拟主机,这里是configuration: <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin [email protected] ServerName gitlab.example.com ServerSignature Off CustomLog /var/log/httpd/gitlab_access.log combined ErrorLog /var/log/httpd/gitlab_error.log ErrorLog syslog:local2 <IfModule mod_proxy.c> ProxyVia On ProxyRequests Off ProxyPass / https://example.com:6543/ ProxyPassReverse / https://example.com:6543/ ProxyPreserveHost Off <Proxy *> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Proxy> </IfModule> # SSL Config SSLCertificateFile […]
我在我的DMZ中运行Apache 2.2.15作为反向代理。 我在互联网上提供了一个内部networking上的应用程序供员工通过反向代理使用。 作为这个应用程序的一部分,员工可以看到带有PDF附件的消息。 内部员工(不必通过反向代理)可以下载这些PDF文件。 外部人员不能。 这就是我在应用程序服务器上的Apache日志中看到的内容。 172.20.0.9 – – [04/Dec/2014:08:48:21 +1300] "GET /application/home/getAttachment/MTE7Y3lzdGljIGZpYnJvc2lzLnBkZg%3D%3D HTTP/1.1" 200 88090 10.0.0.2 – – [04/Dec/2014:08:48:27 +1300] "GET /application/home/getAttachment/MTE7Y3lzdGljIGZpYnJvc2lzLnBkZg== HTTP/1.0" 400 – 第一个请求来自成功下载PDF文件的内部用户。 第二个来自DMZ中的反向代理。 请注意,它是如何将URL末尾的“%3D%3D”转义为“==”的。 我正在做的反向代理中有几件事情。 首先如果有人试图去根目录,一个重写规则将它们发送到应用程序目录。 <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/$ /application/ [NE,R] </IfModule> configuration的其他相关部分是反向代理部分。 <IfModule mod_proxy.c> RequestHeader set Front-End-Https "On" SSLProxyEngine on SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive […]
我最近问了一个关于如何使用Nginx保持后端连接持久性的问题,但是发现这是不可能的, 这是一个HTTP / 1.0代理,但没有保持活动请求的能力。 (因此,每个请求都会创build和销毁后端连接。) 它的工作现在一切正常(因为客户端和Nginx之间的连接保持活跃,结果是一样的),但我不想build立一个新的连接每一次收到一个新的请求,即使它是一个unix域套接字。 那么,你是否推荐完成这种连接的软件(最好是开放源代码而不是太繁琐的configuration)?
目前,我设法configurationvarnish来caching来自1个用户的项目,但是当第二个用户进入varnish时从Apache获取另一个资源。 如何将静态资产caching在可从多个用户访问的magento(css,js,image pdf等)中? 在vcl_recv上,我configuration了: if (req.url ~ "\.(png|gif|jpg|swf|css|js)$") { unset req.http.Https; unset req.http.Cookie; return (lookup); } 在vcl_fetch上: if (beresp.status == 200 || beresp.status == 301 || beresp.status == 404) { if (beresp.http.Content-Type ~ "text/html" || beresp.http.Content-Type ~ "text/xml") { # do something } else { unset beresp.http.expires; unset beresp.http.set-cookie; set beresp.ttl = 300h; } 我怀疑这有什么要做的vcl_hash存储caching与某种客户端的指纹。 […]
我们最近发现了有关nginx的post_action 。 我们想知道是否有一种方法来使用这个指令,如果一个代理caching命中? 我们希望的stream程如下: 1) User request comes in 2) If cache HIT goto A / If cache MISS goto B A) 1) Serve Cached Result A) 2) post_action to another url on the backend B) 1) Server request from backend B) 2) Store result from backend 任何想法,如果这可能通过post_action或任何其他方法? 这背后的推理如下: 我们本质上是喜欢修改用户会话(php,但是相同的概念可以适用于大多数服务器端语言),同时显示caching的内容。 这将大大增加我们处理caching的请求的数量,因为这些请求只写入会话,而不是读取它们。 谢谢!
我有一个域(example.com)和一个子域(sub.example.com)都托pipe在同一台服务器上。 我想代理一个请求,所以在http://sub.example.com/api/上请求的任何文件都会在http://example.com/api/ (和参数一起)上被请求。这里是我的nginx代码sub.example.com: location /api { rewrite /api/(.*) /api/$1 break; proxy_pass http://example.com/api; 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_redirect off; proxy_buffering off; } 这对我不起作用。 什么工作是: location ~* ^/api/(.*)$ { rewrite ^/api/(.*)$ http://example.com/api/$1 last; } 编辑:我忘了说,我的服务器定义包含一些关于Yii框架和parsing的PHP文件的规则。 这是完整的服务器声明: server { listen 80; server_name sub.example.com; access_log /var/log/nginx/sub.example.com.access_log main; error_log /var/log/nginx/sub.example.com.error_log info; root /var/www/localhost/htdocs/sub.example.com; index index.php […]
我有GitLab的nginx设置在127.0.0.1:8088听。 然后我有一个系统nginx(通过Ubuntu上的apt-get安装)作为反向代理与HTTPS设置: upstream gitlab { server localhost:8088 fail_timeout=0; } server { listen 80; server_name gitlab.myhost.com; return 301 https://$server_name$request_uri; } # let gitlab deal with the redirection server { listen 443 ssl; server_name gitlab.myhost.com; ssl_certificate /srv/www/gitlab.myhost.com.unified.crt; ssl_certificate_key /srv/www/gitlab.myhost.com.key; location / { proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; […]