标签: reverse-proxy

IIS作为反向代理

我正在研究让IIS在J2EE服务器(JBoss)上执行的应用程序中进行身份验证.有没有办法让IIS作为反向代理工作,并传播代理应用程序(JBoss)用户的用户名和/或角色.如果可能的话,我还需要什么样的IIS版本?我有IIS的许可,所以我想在IIS中这样做,但除此之外我更喜欢开源.

谢谢!

托马斯

iis reverse-proxy http-authentication

5
推荐指数
1
解决办法
1万
查看次数

代理后面的Rails3应用程序

我正在尝试在作为代理的Apache2网络服务器后面设置一个Rails 3应用程序.Apache Web服务器在端口8080上运行,如果我调用http:// ip:8080,我在mongrel窗口中看到请求,因此代理正确地将接收请求中继到mongrel服务器.

但是,如果没有用户名,我的索引页将执行重定向到登录.所以我做了以下调用:http://:8080/app,但重定向转到http:/// session/new而不是http:/// app/sessio/new我不是很确定apache配置不当,我更担心rails 3.

下面是我的apache配置这个代理的东西,我的routes.rb文件和我发现的潜在的反向代理修复的一些代码,但它似乎不起作用.

REVERSE_PROXY_FIX

BASE_URL = ''
module ActionController
  ActionController::Base.asset_host= BASE_URL

  class UrlRewriter
#    alias old_rewrite_url rewrite_url

    # Prepends the BASE_URL to all of the URL requests created by the
    # URL rewriter in Rails.
    def rewrite_url(path, options)
      url = old_rewrite_url(path, options)
      url = url.gsub(@request.protocol + @request.host_with_port, '')
      url = BASE_URL + url
      url
    end
  end
end 
Run Code Online (Sandbox Code Playgroud)

Apache2配置

# This file contains the proxy settings for apache to map all the incomming …
Run Code Online (Sandbox Code Playgroud)

ruby windows reverse-proxy ruby-on-rails apache2

5
推荐指数
2
解决办法
5273
查看次数

在反向代理(ProxyPass)后面配置Mojolicious中带有前缀的URL

我正在寻找一种可靠的方法来配置在/ app下的Apache反向代理后面运行的Mojolicious,这样url_for('/foo')实际上返回/app/foo而不仅仅是/foo(否则所有的链接都会被破坏).

文档显示了/下所有内容的反向代理示例.但这不是我需要的,因为应用程序应该在/ app下.
谈及ProxyPass / http://localhost:8080/ProxyPass /app http://localhost:8080/会造成问题,因为/app前缀会从应用程序生成的所有URL会丢失.

该文档还有一个关于重写部分,其中有一个before_dispatch钩子的示例,它将获取请求URL的第一部分并将其用作基础.这需要ProxyPass /app http://localhost:8080/app/在Apache配置中将前缀附加到ProxyPass URL(带有斜杠),这在该页面上似乎没有提及,但可能不需要("移动第一部分并从路径到基础的斜杠)路径")因为它很明显.这使得调用成为可能(http://localhost/app/page转换为http://localhost:8080/app/page'app'被钩子删除),url_for('/foo')返回'/app/foo'(http://localhost/app/foo),所以链接将是正确的(在ProxyPass规则中没有尾随斜杠,这将使得/apppage/foo).

但是,在此示例中,URL修改始终在生产模式(if app->mode eq 'production')中进行.所以直接调用后端服务器(http://localhost:8080/testpage)将不再起作用,因为所有的URL都会被破坏.

所以我想,我会检查是否X-Forwarded-For设置了标头(通过mod_proxy_http),这将始终设置为反向代理请求.并且由于Apache mod_proxy文档提到可能已经在客户端请求中设置了此标头(并且最终包含多个值),我首先将其从请求中删除 - 因为发送此标头的客户端不应该导致该URL基础修改.

Apache VirtualHost配置:

# ProxyPreserveHost: Mojo::URL::to_abs() not 127.0.0.1
ProxyPreserveHost On
<Location "/app/">
    # ProxyPass: prefix pass-thru
    ProxyPass http://localhost:3000/app/ …
Run Code Online (Sandbox Code Playgroud)

apache perl reverse-proxy url-rewriting mojolicious

5
推荐指数
1
解决办法
1749
查看次数

nginx反向代理设置,768 worker_connections在连接上游时是不够的

我正在nginx上设置反向代理.我有一个使用server_name的虚拟主机设置,phpmyadmin.lvh.me我想重定向localhost/phpmyadminphpmyadmin.lvh.me反向代理.

这是我的默认配置文件:

upstream phpmyadmin {
    server phpmyadmin.lvh.me:80;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    # Make site accessible from http://localhost/
    server_name localhost;

    location /phpmyadmin/ {
        proxy_pass http://phpmyadmin;
    }

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    } …
Run Code Online (Sandbox Code Playgroud)

proxy reverse-proxy virtualhost nginx

5
推荐指数
0
解决办法
1817
查看次数

502重定向nginx时出现错误网关

我有一个nginx重定向问题.我在nginx 1.4.4上工作,我有两个单独的重定向.它应该有两种工作方式:第一次重定向:地址address1.com重定向到地址address2.com - >地址address2.com重定向到应用程序所在的addres2.com:1234.

第二次重定向直接来自ddress2.com: - address2.com重定向到address2.com:1234

现在的问题是: - 从address1.com重定向到address2.com,但是address2.com到address2.com:port没有.它以502 Bad Gateway错误结束.配置和

日志中的错误如下所示:来自error.log的信息:

[error] : *386 connect() failed (111: Connection refused) while connecting to upstream, client: {client ip addr}, server:{server name}, request: 
Run Code Online (Sandbox Code Playgroud)

"GET/HTTP/1.1",上游:" https://127.0.0.1 : {port}",主机:"{server name}"

Nginx使用存储在conf.d位置的许多.conf文件.

address1.conf(这是有效的):

server {
    ### server port and name ###
    listen          {ip_addr}:443;
    ssl             on;
    server_name     address1.com;

    access_log      /var/log/nginx/address1.log;
    error_log       /var/log/nginx/address1-error.log;

   ssl_certificate      /etc/httpd/ssl/servercert.crt;
   ssl_certificate_key  /etc/httpd/ssl/private/serverkey.key;

    location / {
    rewrite ^ $scheme://address2.com redirect;
}}
Run Code Online (Sandbox Code Playgroud)

address2.com conf文件(这不):

server {
    ### server port and name ###
    listen …
Run Code Online (Sandbox Code Playgroud)

redirect reverse-proxy nginx

5
推荐指数
1
解决办法
2172
查看次数

将本地nginx服务器部署到公共ubuntu 16.04

我正在尝试将我的本地nginx服务器部署到公众.nginx服务器作为我的node express应用程序反向代理运行,该应用程序也在端口3000本地运行.因此我从/ etc/nginx/sites-available/express TO/etc/nginx/sites-enabled/express创建了一个符号链接,所以我的配置文件名为express,看起来像这样.

/ etc/nginx/sites-enabled/express

upstream express_servers{
    server 127.0.0.1:3000;
}

server {

    listen 80;

        location / {
        proxy_pass http://express_servers;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        }

}
Run Code Online (Sandbox Code Playgroud)

我已从已启用站点的文件夹中删除了默认文件,但我没有更改我的nginx.conf文件,如下所示

/ etc/nginx/nginx.conf

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy nginx express ufw ubuntu-16.04

5
推荐指数
1
解决办法
776
查看次数

nginx中的解析器参数

我使用nginx作为与ELB的reverse_proxy服务器.我正在寻找有关我在nginx.conf文件中设置的解析器值的解释.我的nginx.conf:

http {  
   ...

   resolver x.x.x.x valid=30s;

   ...
}

server {

   ...

   set $elb "example.com";

location / { 
    ...

    rewrite ^/(.*) $1 break;
    proxy_pass http://$elb/$1?$args; 

    ...
   }
   ...    
}  
Run Code Online (Sandbox Code Playgroud)

我按照这个 - https://www.ruby-forum.com/topic/6816375#1166569并将/etc/resolv.conf值设置为解析器值,它工作正常.这背后的是什么?

reverse-proxy nginx resolver

5
推荐指数
2
解决办法
3万
查看次数

Apache Proxying导致ERR_CONTENT_DECODING_FAILED错误

我正在尝试从Apache Web服务器(A)配置反向代理到不同机器(B)上的另一个Apache Web服务器.

通过我目前正在使用的配置,我能够访问位于服务器B上的网页,就像它在服务器A上一样,但是对某些资产的请求经常导致ERR_CONTENT_DECODING_FAILED(至少在chrome中).当我使用简单的重定向而不是代理时,这不会发生.

我浏览了请求和响应标题,似乎文件传输的一切都很顺利:

请求:

GET /app1/assets/css/vendor.min.css?1470017050 HTTP/1.1
Host: some.host.address
...
Accept: text/css,*/*;q=0.1
Accept-Encoding: gzip, deflate, sdch
Run Code Online (Sandbox Code Playgroud)

响应:

HTTP/1.1 200 OK
...
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/css;charset=utf-8
Connection: Keep-Alive
Transfer-Encoding: chunked
Run Code Online (Sandbox Code Playgroud)

我在服务器A上使用了以下配置:

ProxyPreserveHost on
ProxyPass "/app1/" "http://some.host.address:8080/app1/"
ProxyPassReverse "/app1/" "some.host.address:8080/app1/"
ProxyHTMLURLMap "http://some.host.address:8080" "/app1"

<Location /app1/>
        ProxyPassReverse /app1/
        ProxyHTMLEnable On
        ProxyHTMLURLMap / /app1/
</Location>
Run Code Online (Sandbox Code Playgroud)

apache configuration assets reverse-proxy decoding

5
推荐指数
1
解决办法
3046
查看次数

具有不同根的ASP.Net核心反向代理

我在代理ASP.NET Core MVC应用程序时遇到问题.

我的应用程序在Kestrel上运行localhost:5000,我的Apache 2.4反向代理正在运行localhost:80.我要代理的所有请求localhost:80/testlocalhost:5000

这是httpd.conf代理的部分:

...
<Location "/test">
   ProxyPass "http://localhost:5000"
   ProxyPassReverse "http://localhost:5000"
</Location>
...
Run Code Online (Sandbox Code Playgroud)

代理工作,但所有链接都被破坏.就像我有一个锚链接到一个以HomeController动作命名的控制器About,从代理返回的链接localhost/Home/About代替localhost/test/Home/About.主机是正确的,它test是缺少的上下文根.

处理这个问题的最佳做法是什么?ASP.NET Core中的配置是否指定了上下文根,以便TagHelpers将其考虑在内?或者它是Apache ProxyPass中重写链接的配置(真的不是这个的忠实粉丝)?

reverse-proxy asp.net-core

5
推荐指数
1
解决办法
3718
查看次数

使用Meteor Server将Proxy_pass发送到url NGINX

我已经配置了流星服务器并设置了nginx配置.但是,当路由配置动态子域以指向Web应用程序的特定部分时,它会在加载流星文件时在浏览器上产生404错误.

我试图将所有*.domain.comhttp://localhost:3000/booking/

我的配置是:

server {

        server_name *.domain.com;
        listen 80;

        location / {
            proxy_pass http://localhost:3000/booking/;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade; #for websockets
            proxy_set_header Connection $connection_upgrade;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $host;
         }

}
Run Code Online (Sandbox Code Playgroud)

404发生在Meteor JS文件中.

在此输入图像描述

如果我删除上面的nginx子域配置并转到子域它完美地工作,加载路由应用程序.我假设我错过了正确加载应用程序的东西.

只有当我proxy_pass到URL中的路由时才会出现此问题<url>/booking

reverse-proxy nginx meteor

5
推荐指数
1
解决办法
556
查看次数