Articles of proxypass

Subsonic不能在nginx后面工作,因为; jsessionid =被添加到每一个URL

我开始使用nginx作为前端,以便通过子域标准化我的服务访问。 它适用于pydio和webmail(RainLoop,非常好),但Subsonic不会login。 没有错误信息,它只是返回到login页面,而不是显示我的音乐库。 请看附件,甚至直接访问(左版本)的头版的颜色和格式是不同的(正确的版本)。 Nginx正在将“; jsessionid =”作品附加到每一个地址,这似乎正在损害亚音速行为。 我究竟做错了什么? 我浏览论坛和更复杂的设置(例如SSL)的人可以把nginx代理Subsonic启动和运行。 我的设置是: 亚音速服务器 惠普微型服务器在家里 Ubuntu 13.10 x64 Subsonic 4.9.beta2(build 3634) Apache Tomcat / 6.0.37,java 1.7.0_25 Nginx服务器 数字海洋便宜的服务器(512MB,20GB SSD) Ubuntu 13.10 x64 nginx版本:nginx / 1.4.1(Ubuntu) 服务器{听80; server_name pydio.mydomain.com; 位置/ {proxy_pass http://aaa.bbb.ccc.ddd:9090 / pydio / ; }} 服务器{听80; server_name subsonic.mydomain.com; location / {proxy_pass http://aaa.bbb.ccc.ddd:8070 / subsonic / ; } […]

nginx:“proxy_pass”不能在由正则expression式给出的位置或者在名为lo的内部具有URI部分

我正在使用nginx上游到不同的服务器组,取决于用户的地理位置。 因为看来geoip模块不会为本地地址(localhost,192.168.0.X等)返回任何值。 https://www.maxmind.com/en/faq 我试图ot处理这个如下:1)检查当前的IP是本地IP: geo $isLanIP { default no; 192.168.0.0/24 yes; 127.0.0.1 yes; } 2)取决于isLanIP proxy_pass的不同上行的值: if ($isLanIP ~ no){ proxy_pass http://$geoip_country_code.SearchControllerUpStream/; break; } if ($isLanIP ~ yes){ proxy_pass http://local.SearchControllerUpStream/; break; } 当启动nginx时,错误“”proxy_pass“不能在正则expression式给定的位置,或者在名为lo的内部。 … .conf:64'被提出。 L64是第二个proxy_pass调用。 BR。 服务器块: server { listen 8080; server_name host; access_log /var/log/nginx/host.access.log main; error_page 404 = 404.html; error_page 403 = 403.html; […]

nginx proxy_pass被忽略

我有一个作为代理服务器的Nginx服务器。 我还有3个不同的NodeJS Express服务器在端口8080,9090和8888上运行(所有端口均正常工作)。 服务器8080和9090执行相同的APP。 8888上的服务器当POST请求被转发时,应该返回“POSTING”。 GET和POST路由都为服务器8888正确设置,如果直接用CURL请求调用它们,我会得到正确的响应: import Express from 'express'; import BodyParser from 'body-parser'; // Initialise server const server = Express(); // for parsing application/json server.use(BodyParser.json()); // Setting port server.set('port', 8888); server.post('/', function(request, response) { console.log('POSTING'); response.send('POSTING'); }); server.get('/', function(request, response) { console.log('GETTING'); response.send('GETTING'); }); console.log(`Starting server on port ${server.get('port')}`) server.listen(server.get('port')); 我的Nginxconfiguration如下: upstream amit4got { […]

如何区分nginx代理上的内部错误代码502和上游返回的http_502

我们使用nginx作为http代理服务器。以下configuration: location / { proxy_pass_header Server; proxy_pass $scheme://$http_host$request_uri; } 当url代理从真正的http主机返回错误代码502时,我们的客户端从nginx接收错误代码502。 当发生错误如dns错误或连接错误时,我们的客户端也收到错误代码502。 如何区分内部错误代码502和上游返回的http_502在我们的nginx代理。

NGINXdynamic代理通过parsing器

尝试使用nginx在Kubernetes中设置api网关。 我试图按照指定服务和版本的path跟单个子域模式。 api.domain.com/service/v0/api/resource/10 -> http://servicev0/api/resource/10 现在忽略版本… 这确实解决了。 location ~/(?<service>(\w+))/(?<version>(v[0-9]+(\.[0-9]+)*)) { resolver 169.254.169.250; proxy_pass http://theservice; } 使用api.domain / theservice / v0 / location ~/(?<service>(\w+))/(?<version>(v[0-9]+(\.[0-9]+)*)) { resolver 169.254.169.250; proxy_pass http://$service; } location ~/(?<service>(\w+))/(?<version>(v[0-9]+(\.[0-9]+)*)) { resolver 169.254.169.250; proxy_pass http://$service; } 错误 *1 theservice could not be resolved (110: Operation timed out), 还需要重写请求来删除$ service和$ version。

重复的最大年龄标题

我正在使用Apache 2.4.25使用代理传递公开一些后端服务。 Apache还会根据MIMEtypes设置caching控制标头。 当前的cachingconfiguration如下所示: ExpiresActive on ExpiresDefault "now" ExpiresByType text/html "now" ExpiresByType image/gif "access plus 120 minutes" ExpiresByType image/jpeg "access plus 120 minutes" ExpiresByType image/png "access plus 120 minutes" ExpiresByType text/css "access plus 60 minutes" ExpiresByType text/javascript "access plus 60 minutes" ExpiresByType application/x-javascript "access plus 60 minutes" ExpiresByType text/xml "access plus 60 minutes" ExpiresByType application/javascript […]

根目录下的Apache + mod_auth_tkt + mod_rewrite + mod_proxy

我有一个运行在Apache服务器后面的Tomcat服务器上的Web应用程序,我使用mod_proxy将请求从httpd转发到tomcat服务器。 httpd服务器正在使用mod_auth_tkt进行身份validation,将有关用户的信息存储在环境variablesREMOTE_USER中。 我把这个variables从httpd传递给使用mod_rewrite的tomcat服务器,将其保存为头(X-Forwarded-User)。 ProxyPass设置为 httpd_server/app/ -> tomcat_server/app/ 这是vhost.conf: <Location /> RewriteEngine On RequestHeader unset X-Forwarded-User RewriteCond %{LA-U:REMOTE_USER} (.+) RewriteRule .* – [E=RU:%1,NS] RequestHeader add X-Forwarded-User %{RU}e </Location> <IfModule mod_proxy.c> ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /app/ http://127.0.0.1:8084/app/ ProxyPassReverse /app/ http://127.0.0.1:8084/app/ </IfModule> 这完美的作品。 但是,如果尝试将ProxyPass更改为 httpd_server/ -> tomcat_server/app/ 所以把vhost.conf改成: ProxyPass / http://127.0.0.1:8084/app/ […]

带有ProxyPass到node.js服务器的Apache VirtualHost拒绝工作('无法parsing主机名')

我在我的Mac上运行本地Apache进行开发,并且还有运行在http://127.0.0.1:8000/ node.js服务器。 我使用Apache项目的.dev域,并希望.node域redirect到node.js服务器。 我有虚拟主机设置如下: <VirtualHost *.dev:80> VirtualDocumentRoot "/www/sites/%1/wwwroot" ServerName sites.dev ServerAlias *.dev UseCanonicalName Off </VirtualHost> <VirtualHost *.node:80> ServerName sites.node ProxyPass "/" "http://localhost:8000" ProxyPassReverse "/" "http://localhost:8000" </VirtualHost> 但是,当我尝试应用这些设置时,出现错误: [core:error] [pid 8594] (EAI 8)nodename nor servname provided, or not known: AH00547: Could not resolve host name *.node — ignoring! 我应该注意到, .dev域可以按照预期工作,并且node.js服务器可以在http://localhost:8000/ ,只是不在http://test.node/ 。 我在这里错过了什么?

禁用apache 2虚拟主机中的ProxyPass规则

我在httpd.conf中有一个全局的proxypass规则 全球一级的规则 ProxyPass /test/css http://myserver:7788/test/css ProxyPassReverse /test/css http://myserver:7788/test/css 我有一个虚拟主机 Listen localhost:7788 NameVirtualHost localhost:7788 <VirtualHost localhost:7788> Alias /test/css/ "C:/jboss/server/default/deploy/test.ear/test-web-app.war/css/" </VirtualHost> 我想禁用在这个虚拟主机上应用的所有全局代理通行证规则? NoProxy似乎不工作。 (我想这样做的原因是我有以下的全局规则,如果在这个虚拟主机中应用,创build一个502代理循环 #pass all requests to application server ProxyPass /test http://localhost:8080/test ProxyPassReverse /test http://localhost:8080/test ) 我想要做的是,使用apache服务所有静态内容(如css),同时仍然代理其余的请求到应用程序服务器。

Apache proxypass结尾斜杠/目录问题

我有一个遗留网站,用于运行Apache 2运行proxypass后面的一个旧的Apache 1.3实例的慈善机构。 当请求到达example.com时,Apache 2将其内部发送到localhost:8080,它可以正常工作。 问题: example.com/blog/ works but example.com/blog (没有结尾的斜杠)没有。 它在Chrome中更改的url是example.com:8080/blog/ ,它不存在。 所有其他目录也是如此。 Apache 2: <VirtualHost *:80> ServerName example.com ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ </VirtualHost> Apache 1: NameVirtualHost *:8080 <VirtualHost *:8080> DocumentRoot /usr/www/html/ ServerName example.com RewriteEngine on RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD)$ RewriteRule .* – [F] </VirtualHost> 我认为一个简单的解决scheme是在虚拟主机中添加一个重写程序,但是尽pipe尝试了很多,我仍然没有取得任何成功。 我认为一个关键的问题是在斜杠不在那里的时候,错误地看example.com:8080。 如果有人能帮助我,这将是非常好的,请问我会有用的其他信息。