Articles of 反向代理

Apache Proxy – 代理服务器后端的SSLvalidation失败(客户端)

我正在运行configuration为反向代理的Apache 2.2.11。 代理的“前端”工作正常,后端也一样,直到我们在代理的后端(客户端)启用基于SSL证书的身份validation。 我的HTTPD conf文件包含: SSLProxyMachineCertificateFile /opt/apache/sfdc/myauth/myauth 根据文档,我已将密钥和证书组合到“myauth”文件中。 我正在使用相同的证书和密钥来保护代理正面的HTTPS连接。 这是串联的猫../server.key ../server.pem >> myauth 私钥没有密码保护。 我的Apache日志表明: [debug] ssl_engine_kernel.c(1526): Proxy client certificate callback: (obsucredhostname.com:8010) entered [debug] ssl_engine_kernel.c(1571): Proxy client certificate callback: (obsucredhostname.com:8010) no client certificate found!? 是否可以使用与用于保护前端SSL相同的证书密钥对? 我的前端由godaddys签署服务保证。 或者,我需要使用一个单独的和独特的一对?

反向HTTP代理作为CDN原始服务器,如何处理上次修改以来的?

我正在尝试为CDN设置冗余的原始服务器,以便按需提供video文件。 目前的设置是,我有两个“媒体”服务器具有较大的存储容量,并运行nginx。 在这两台服务器的前面是另一个nginx服务器,它被设置为一个反向代理,将请求分解到每个服务器。 每个媒体服务器上存储了每个video的副本。 它们被复制到每个媒体服务器,但可能稍有不同。 因此,nginx会为video请求返回略微不同的LastModified标题,具体取决于nginx服务器提供的服务。 问题是,caching数据的CDN有时会向源服务器发送IMS(If Modified Since)请求,并使用该信息来确定是否需要刷新其caching中的video。 CDN为video提供字节范围请求,这些请求可以在两台服务器之间轻松拆分。 如果字节范围请求继续得到不同的最后修改标题,一切都搞砸了。 这是一个可解决的问题? 我是否需要使用其他一些机制来保持两台服务器之间的数据“同步”? 也许我可以使用rsync将数据从一个存储服务器复制到另一个存储服务器,并传入一个保留所有创build/修改时间的选项?

尝试通过IIS 7.5反向代理login到Redmine时出错

我正在尝试将Redmine设置为我们部门Intranet站点的子目录,并将其重新命名为使用IIS的URL Rewrite扩展名的“Workflow”。 我有“工作”,因为它将提供URL和HTML代码中所有正确的重写页面。 但是,当我尝试提交表单(包括login到redmine)时,IIS给我以下错误之一: Your browser sent a request that this server could not understand. 要么 The specified CGI application encountered an error and the server terminated the process. 这是设置: 使用Bitnami all-in-one安装程序安装在本地Windows XP计算机上的Redmine包括: Apache 2 的Ruby-on-Rails的 MySQL的 pipe理平台 瘦 Redmine在本地运行http:/ localhost / redmine Redmine通过Intranet http:/146.18.236.xxx/redmine运行 Windows Server + IIS 7.5提供ASP.NET Intranet Web应用程序mydept.mycompany.com IIS扩展Url重写和AAR安装 IIS的反向代理设置(如下所示)在mydept.mycompany.com/workflow上为Redmine提供服务 <rewrite> […]

Apache反向代理规则从URI信息创buildHTTP标头?

我正在testingSiteMinder后面生产中托pipe的Web应用程序,该应用程序对用户进行身份validation,并向每个标识该用户的请求添加一个HTTP标头。 如果标题不存在,应用程序不起作用,我试图用Watir和Webdriver来testing它。 这种组合在本地驱动一个真正的浏览器(例如Firefox),所以我不能通过WebDriver轻松地插入HTTP头。 我们的本地testing环境没有SiteMinder,所以我需要一种方法来插入标题。 我已经将Apache 2设置为反向代理,并且想要翻译如下请求: GET /[email protected]/application/index.html 成: GET /application/index.html SM_USER: [email protected] 我们的服务器都是Solaris 10,而且我正在使用与OS一起安装的Apache / 2.0.63(我们没有使用它)。 我得到的最接近的是使用SetEnvIf和mod_rewrite : SetEnvIf Request_URI "SM_USER=([^/]+)" HTTP_SM_USER=$1 RewriteEngine on RewriteRule ^/.+(/application/.+)$ http://apphost:9090$1 [P] 但标题没有被设置。 在执行SetEnvIf指令之前 ,似乎Request_URI的值正在重写,所以SM_USER不再位于URI中。 如果我对此正确,是否有可能改变执行的顺序,所以SetEnvIf获取原始URI? 或者我需要一个不同的方法?

带有Squid反向代理的多个SSL证书

我一直在使用apache反向代理(不够强大)升级我的networking到configuration为反向使用的Squid代理。 我的鱿鱼代理是在一个CentOS 6虚拟机,目前运行在我的预先存在的Apache代理 – 所以我仍然有鱿鱼端口3128运行。 我在/etc/squid/squid.conf中有这个设置, http_port 3128 accel vhost visible_hostname squid cache_peer 192.168.0.13 parent 80 0 no-query originserver name=server1 cache_peer_domain server1 www.server1.com server1.com cache_peer 192.168.0.14 parent 80 0 no-query originserver name=server2 cache_peer_domain server2 www.server2.com server2.com cache_peer 192.168.0.15 parent 80 0 no-query originserver name=server3 cache_peer_domain server3 www.server3.com server3.com http_access allow all 这适用于所有的HTTP连接。 它指示 www.server1.com:3128 至 […]

为max-age = 0请求configurationnginx

我使用nginx作为proxy_cache的反向代理。 后端是设置cache-control响应头,这使得nginx在可能的时候提供来自caching的响应。 不过,我希望允许客户端通过设置请求标头Cache-Control:max-age=0来绕过caching。 这样用户可以通过在浏览器中点击CTRL+R来获得新的副本。 默认情况下,nginx似乎忽略Cache-Control请求头。 如何configurationnginx从后端获取全新副本,并在客户端使用Cache-Control:max-age=0请求资源时更新caching?

Apache2 + Tomcat:通过apache2接收请求会导致超时和代理错误

所以我们使用apache作为反向代理来发送请求到我们的solr(search应用程序),它是在tomcat中托pipe的。 我们有另外一台服务器托pipe在jboss中,它以二进制格式向apache发送数据,然后将这些数据发送给tomcat进行索引并放入solr数据库。 数据以多部分POST请求发送。 这个过程可能需要长达8个小时。 所以这里的问题是,当我们通过apache发送数据时,在索引(发送数据部分)中间大约30-40分钟,我们会在jboss(发送数据部分)中收到很多代理和错误的网关错误数据),并在tomcat日志中,它会说,收到的数据有一个无效的EOF。 所以显然数据没有正确发送。 如果我们看一下apache日志,这个错误有很多: [Wed Jan 08 16:10:45 2014] [error] [client 10.60.6.6] (70007)The timeout specified has expired: proxy: error reading status line from remote server localhost:8080 [Wed Jan 08 16:10:45 2014] [error] [client 10.60.6.6] proxy: Error reading from remote server returned by /application-path/application-url 和这个错误: [Mon Jan 13 11:38:49 2014] [error] (103)Software caused […]

nginxconfiguration失败,SSL密钥/ pem(唯一的情况下)

我正在尝试安装SSL我的nginx反向代理与authenticationssl密钥,但我得到这个消息时,当我尝试重新启动服务器: Restarting nginx: [emerg]: SSL_CTX_use_PrivateKey_file("/etc/nginx/conf.d/cert.key") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib) configuration file /etc/nginx/nginx.conf test failed 每个文件都是根目录:具有600个权限的根目录我已经testing了这些证书,并且通过以下网站进行validation: http ://ssltools.com/cert_key_match 在我的键中没有拖尾怪异的字符,每行有64个字符 这里是我的configuration文件 server { listen 443; server_name my.domain.com; ssl on; ssl_certificate conf.d/cert.pem; ssl_certificate_key conf.d/cert.key; location / { proxy_pass http://upstream1; proxy_redirect off; proxy_buffering off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } […]

为什么Nginx的反向代理显示http位置?

我需要帮助我的nginxconfiguration。 在这个configuration我有/ svn的位置,来到Apache的HTTP。 Apache是​​密码保护(基本authentication)当访问https://my.server.com/svn它显示了Apachelogin提示,但在它,我可以看到它试图访问http://127.0.0.1:81/ – 我需要隐藏这些信息。 另外,当我点击取消button,它会redirect到http://127.0.0.1:81/显示403。 所以我需要的是通过https服务,而不是向任何人展示我用于内部通信的端口。 成功login后,它也是http url和端口81,但是当我手动添加https,并删除端口81它也可以;) upstream subversion_hosts { server 127.0.0.1:81; } server { listen 80; ## listen for ipv4 listen [::]:80 default ipv6only=on; ## listen for ipv6 # Set appropriately for virtual hosting and to use server_name_in_redirect server_name server.name.com; server_name_in_redirect off; location / { rewrite ^(.*) https://server.name.com$1 permanent; } } […]

具有websocket支持的轻量级反向http代理

是否存在一个轻量级的(当我尝试Apache的时候吃了几百兆内存)反向HTTP代理,它支持WebSockets? 我到目前为止使用英镑不支持websockets,但现在我想添加一个需要websockets工作的后端。 我考虑了我目前在所有后端使用的nginx,并提供webproxy支持。 不幸的是,似乎没有办法通过nginx来禁止http请求的缓冲。 所以file upload永远不会“stream”到后端,而是先被nginxcaching。 我不需要负载平衡或caching和SSL终止只是一个很好的。 哪个http反向代理给我websocket支持以及http请求的“stream”?