Articles of 反向代理

当服务器正在设置cookie时,使用NGINX处理caching

使用NGINX微型caching我已经有了非常好的性能结果。 但是,我仍然不确定如何最好地处理具有Set-Cookie头的服务器响应。 NGINX可以caching原始服务器和Set-Cookie头的响应吗? 如果答案是否定的, Set-Cookie响应应该总是绕过caching层,这会对性能产生负面影响。 例如,当您访问运行WooCommerce的avarege电子商务网站时,这些cookie将在您的第一个visti上设置: 设置Cookie:PHPSESSID = XXYY 设置Cookie:wp_woocommerce_session_xx = YY 如果Set-Cookie响应被排除在caching之外,这意味着caching的内容永远不会在任何电子商店中首次访问。 另外,在WooCommerce商店上浏览产品时,插件会设置woocommerce_recently_viewed=xxxx cookie。 woocommerce_recently_viewed cookie将在每个产品视图上更新,以便随后对其他产品的请求将导致服务器包含Set-Cookie标头。 在这种情况下可以启用caching吗? 我在NGINX中使用的一些默认cachingconfiguration包括: if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { set $skip_cache 1; } 如果我在列表中包含woocommerce_recently_viewed cookie,则大部分时间内caching将被woocommerce_recently_viewed 。 在这种情况下处理caching和cookie的最佳做法是什么?

Nginx来代理Apache

我正在尝试将Nginx设置为Apache的反向代理服务器,用于在本地运行的站点:8080,并通过lessico.pistacchioso.com外部访问。 当前的configuration导致502 – 错误的网关错误。 #/etc/apache2/ports.conf Listen 127.0.0.1:8080 <IfModule mod_ssl.c> # If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to <VirtualHost *:443> # Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. Listen 443 </IfModule> <IfModule […]

透明地将SSH连接转发到NATed服务器

我一直在尝试这个很长一段时间,我还没有find一个好的解决scheme。 我在NAT后面有几台服务器,都运行着一个SSH守护进程。 其中一台机器是我的主服务器,它将SSH端口转发给它。 我想要的基本上是打开一个连接到其他NAT服务器通过主服务器类似于我可以实现打开连接到主服务器,然后SSH到目的地。 由于有一些在SSH之上运行的应用程序,我想使这个自动化,以便在连接本身上运行rsync或git。 有没有SSH的反向代理?

我如何使用nginx提供静态文件,但使用略有不同的url龙卷风?

我有一个目录结构我想要服务,包含文件作为二进制和一些关于他们作为JSON的元信息。 对于一些目录,我需要在运行中计算一些事情并提供服务。 我想要使​​用龙卷风来计算和提供这些信息。 这里是一个例子: > ls /manufacturers/* audi/ audi.json mercedes/ mercedes.json > wget http://localhost/manufactures/audi.json returns the json file using nginx static serving > wget http://localhost/?diesel returns a json file with manufactures that create cars with diesel engines computed by and using tornado

如何通过基于域名的路由器路由请求?

假设如下所示的设置,是否有可能将例如subdomain1.domain.com到服务器1,subdomain2.domain.com到服务器2,另一个seconddomain.com到服务器2等请求,而没有反向代理? 目标是托pipe几台服务器,每台服务器应该可以自主访问和pipe理。 由于其中大部分是testing环境,因此目标是能够通过不同的域/子域名访问每个服务器,在所有端口上。 每次在其中一台机器上testing新服务时,pipe理反向代理将非常麻烦,尤其是因为这些服务器不限于HTTP / HTTPS Web服务器,并且可以在多个不同的端口上提供多种协议。 这样的设置是否可行? 如何设置它?

如何从一个IP地址运行两台服务器?

我正在运行一个Web服务器,现在我想能够使用另一个也需要端口80的设备,但我只有一个IP。 我的networking服务器是Ubuntu,并使用Apache。 根据域名将请求重新路由到某个内部IP是否有技巧? 我该怎么做?

通过使用Apache的HTTPS隧道HTTP

是否有可能有一个HTTP服务器的HTTPS前端? 让我详细说一下。 说我有一个应用程序运行在一个tomcat实例,这个程序只理解HTTP。 是否有可能让Apache坐在tomcat应用程序的前面并代理请求,如下所示: http://example.com/proxied_app http://localhost:8080 +———-+ +———-+ | | | | | | | | Internet <—-HTTPS—>| APACHE |<———HTTP———>| TOMCAT | | | | | | | | | +———-+ +———-+

Apache:我如何才能使我的网站只能在SSL上使用,而不能通过HTTP和HTTPS?

我在Ubuntu服务器中有一个tomcat web应用程序。 Web应用程序被部署为ROOT 。 我已经安装了apache2并通过一个VirtualHost我指出的IP直接到tomcat的Web应用程序。 所以我可以直接通过IP(和域)访问网站,比如125.20.20.50或example.com 。 请检查以下文件,该文件是\etc\apache2\sites-enabled\的000-default.conf 。 <VirtualHost *:80> ProxyPreserveHost On # Servers to proxy the connection, or; # List of application servers: # Usage: # ProxyPass / http://[IP Addr.]:[port]/ # ProxyPassReverse / http://[IP Addr.]:[port]/ # Example: ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ ServerName localhost </VirtualHost> <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /opt/apache-tomcat-7.0.79/webapps/ROOT/ ErrorLog […]

AWS:networkingACL阻止出站stream量

我正在Amazon AWS中实施REST服务。 内部servlet监听8080和9000等多个端口,configuration为反向代理的Apache通过端口443上的https使用适当的URL模式为它们提供服务。 Apache服务器处理用户身份validation和SSL安全性,而内部端口服务于所有请求而无需身份validation。 当然,我想阻止这些内部servlet从外部获取stream量。 我已经安装了一个networkingACL,并使用亚马逊指南的允许版本进行configuration:返回stream量的端口80,443,22和49152-65535的入站stream量,以及所有端口允许的出站stream量。 例如,Jenkins服务器无法从端口22上的github上使用pip或克隆仓库获取软件包。当为入站stream量启用端口1024-65535时,问题得以解决,但是这些设置暴露了内部servlet。 为什么我的呼出电话被阻止? 使用单个VPC可以解决这个问题吗?

在Apache 2.2.3上设置通配符子域(带有反向代理)

我想要实现的是以下几点:我想有许多子域名,如abc.domain.comredirect到一个url,如www.domain.com/something?subdomain=abc 由于我正在redirect到完全限定的域,所以我需要使用反向代理来避免浏览器中URL的更改。 (使用[P]标志并打开mod_proxy模块和一些其他模块) 这是我的DNS设置 *.domain.com. 14400 A 111.111.11.1 这是我的虚拟主机configuration为Apache <VirtualHost 111.111.11.1:80> ServerName www.domain.com ServerAlias *.lionite.com DocumentRoot /var/www/html ErrorLog /var/www/logs UseCanonicalName off RewriteEngine on RewriteCond %{REQUEST_URI} !^/images RewriteCond %{HTTP_HOST} !^www\.domain\.com$ RewriteRule ^(.+) %{HTTP_HOST}$1 [C] RewriteRule ^([^.]+)\.domain\.com(.*) http://www.domain.com/something?subdomain=$1 [P,L] 这个设置工作正常(让我知道,如果你认为你可以改善它当然)。 我的主要问题是当我试图设置https:// 这是我的虚拟主机configuration为Apache <VirtualHost 111.111.11.1:443> ServerName www.domain.com:443 ServerAlias *.domain.com DocumentRoot /var/www/html SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW […]