タグ付けされた質問 「reverse-proxy」

リバースプロキシは、クライアント用に定義された特定のサーバーセットからリソースをフェッチするプロキシサーバーの一種です。これは、セキュリティ上の理由から、または利用可能なパブリックIPアドレスの不足のために、コンテンツを含むWebサーバーを直接公開しないことが有利な場合に使用されます。

1
Socket.IO 1.0用のApache 2.4 mod_proxy_wstunnelの構成
mod.proxy_wstunnelを使用して、socket.ioのwebsocket接続をnode.js websocketサーバーにプロキシするようにApache 2.4を設定しようとしています。これはsocket.io 0.9で正常に機能していましたが、1.0リリースではソケットエンドポイントがクエリパラメーターに変更され、現在、正しいプロキシ命令を使用してApacheを構成するのに問題があります。 すべての要求/socket.io/?EIO=N&transport=websocketに転送する必要があります(Nは任意の数字であり、通常は2)ws://localhost:8082/socket.io/が、他のすべての要求をに転送する必要がありますhttp://localhost:8082/socket.io/。 次の構成の両方のバリエーションを試しました。 ProxyPass /socket.io/?EIO=2&transport=websocket http://localhost:8082/socket.io/?EIO=2&transport=websocket ProxyPassReverse /socket.io/?EIO=2&transport=websocket http://localhost:8082/socket.io/?EIO=2&transport=websocket ProxyPass /socket.io/ http://localhost:8082/socket.io/ ProxyPassReverse /socket.io/ http://localhost:8082/socket.io/ 。 RewriteRule /socket.io/?EIO=([0-9]+)&transport=websocket ws://localhost:8082/socket.io/ [QSA,P] ProxyPass /socket.io/ http://localhost:8082/socket.io/ ProxyPassReverse /socket.io/ http://localhost:8082/socket.io/ 私はグーグルから、ProxyPassとLocationsがクエリ文字列をターゲットにできないことを収集しましたが、ここに他のオプションはありますか?パスはsocket.ioにハードコーディングされているため、ライブラリ全体をフォークするまでは変更できません。

7
Webサーバーの前のリバースプロキシはセキュリティを改善しますか?
サードパーティのセキュリティ専門家は、ベストプラクティスのセキュリティ対策として、Webサーバー(すべてDMZでホストされている)の前でリバースプロキシを実行することを推奨しています。 これは、ハッカーを防ぐためにWebアプリケーションの前に別のレベルのセキュリティを提供するため、これが一般的に推奨されるアーキテクチャであることを知っています。 ただし、リバースプロキシは、ユーザーと内部Webサーバーの間でHTTPを往復するので、Webサーバー自体のハッキングを防止する手段を提供しません。つまり、Webアプリにセキュリティホールがある場合、プロキシは有意な量のセキュリティを提供しません。 また、Webアプリケーションへの攻撃のリスクはプロキシへの攻撃のリスクよりもはるかに高いことを考えると、真ん中に余分なボックスを追加することで本当に多くの利益が得られますか?リバースプロキシのキャッシング機能を使用することはありません。パケットを往復させるための単なる愚かなツールです。 ここで私が見逃しているものはありますか?リバースプロキシHTTPパケットインスペクションは非常に優れているため、大きなパフォーマンスボトルネックなしに意味のある攻撃を検出できますか、またはこれはSecurity Theaterの単なる別の例ですか? リバースプロキシはMS ISA fwiwです。

1
Nginxを使用してサブホストを外部ホストにリダイレクトする
Nginxで同じサブネットにある別のサーバーにサブパスをリダイレクトする非常に単純なマップを作成する必要があります。 Nginxサーバー:192.168.0.2 Tomcatサーバー:192.168.0.3:8443 私はこれをサーバーセクションに入れようとしました location /tomcatapi/ { rewrite /tomcatapi/(.*) $1 break; proxy_pass http://192.168.0.3:8443; } しかし、http://www.myservice.com/tomcatapi/にアクセスするのは500エラーページで、nginxログファイルには次のエラーがあります。 the rewritten URI has a zero length このconfに欠けているものは何ですか?

3
apacheにヘッダーが存在しない場合は設定します
いくつかのヘッダーを注入しているプロキシがありますが、ヘッダーがまだ存在しない場合にのみヘッダーを設定するように修正したいと思います。 <Location /api> RequestHeader set MY_HEADER "value" ProxyPass http://127.0.0.1:8000/api ProxypassReverse http://127.0.0.1:8000/api </Location> これは可能ですか?

3
負荷分散なしのnginxフェールオーバー
nginxの設定に問題があります。 私はnignxをリバースプロキシとして使用しています。すべてのリクエストを最初のサーバーに送信したい。最初のサーバーがダウンした場合、2番目のサーバーにリクエストを送信します。 要するに、負荷分散なしでフェールオーバーソリューションを使用するにはどうすればよいですか?

2
ワニスと他の逆プロキシ
ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け付けていません。 私は、VarnishをすべてのWebトラフィックのキャッシングリバースプロキシとして展開している組織と協力しています。彼らのトラフィックは、顧客が生成した多くの動的なWebサイトであり、静的なアセットの通常のコレクションが脇にあります。 私はワニスを好きにしていますが(原則としてかなり良いアーキテクチャを持っていると思います)、それを管理し、問題が発生したときにトラブルシューティングするのに苦労していますので、それが本当に正しい選択かどうか疑問に思っています。私は過去に逆プロキシとしてsquidを使用しましたが、同じ種類の役割ではないため、比較のための明確な根拠がありません。 私の質問は、生産でワニスを展開したか、代替案に対して真剣に評価した人々を対象としています。それにとどまるか、切り替えるためのあなたのキーポイントは何でしたか、そしてあなたが何か他のものを使用した場合、何を使用することになりましたか?

2
Nginxの場所で複数のプロキシエンドポイントを提供する
/apiサブパスが異なるエンドポイントに移動する単一の場所からサービスを提供したいAPIエンドポイントがいくつかあります。具体的には、webdisをで/api、独自のAPIをで入手できるようにし/api/mypathます。 redisコマンド名と衝突する可能性が低いサブパスを使用しているため、webdis APIとの衝突については心配していません。また、衝突を避けるためにAPIの設計を完全に制御できます。 これが、私がハッキングしてきたテストサーバーの構成ファイルです。 server { listen 80; server_name localhost; server_name 192.168.3.90; server_name 127.0.0.1; location / { root /home/me/src/phoenix/ui; index index.html; } # temporary hardcoded workaround location = /api/mypath/about { proxy_pass http://localhost:3936/v1/about; } location /api { rewrite ^/api/(.*)$ /$1 break; proxy_pass http://localhost:7379/; } # tried this but it gives "not …

2
Nginxのサブドメインに応じて異なる場所にプロキシをリバースする方法は?
複数のサブドメインがあり、すべて1つのマシンと1つのIPアドレスをポイントしています。このマシンでは、nginxをリバースプロキシとして機能させ、マシンへのアクセスに使用したサブドメインに応じて、別のサーバーへのリバースプロキシを設定します。nginxをリバースプロキシの使用として使用した例をすべて見てきましたlocationが、これはパスでのみ機能し、異なるサブドメインでは機能しないことを理解しています。どうすれば自分のやりたいことを達成できますか?

2
nginxのサブディレクトリのリバースプロキシ
Herokuアプリ(http://lovemaple.heroku.com)のVPSにリバースプロキシを設定したいので、アクセスmysite.com/blogするとhttp://lovemaple.heroku.comのコンテンツを取得できます Apache wikiの指示に従いました。 location /couchdb { rewrite /couchdb/(.*) /$1 break; proxy_pass http://localhost:5984; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 状況に合わせて変更しました。 location /blog { rewrite /blog/(.*) /$1 break; proxy_pass http://lovemaple.heroku.com; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } にアクセスするmysite.com/blogと、ページは表示されますが、js / cssファイルを取得できません(404)。 彼らのリンクはなるmysite.com/style.cssがそうではないmysite.com/blog/style.css。 何が問題なのですか、どうすれば修正できますか?

1
Expressで動作するようにnginxを設定する方法は?
proxy_passノードアプリにリクエストするようにnginxを設定しようとしています。:StackOverflowの上の質問には、多くのupvotes得/programming/5009324/node-js-nginx-and-nowと私はそこから設定を使用しています。 (ただし、質問はサーバー構成に関するものであるため、ServerFaultにあるはずです) nginxの構成は次のとおりです。 server { listen 80; listen [::]:80; root /var/www/services.stefanow.net/public_html; index index.html index.htm; server_name services.stefanow.net; location / { try_files $uri $uri/ =404; } location /test-express { proxy_pass http://127.0.0.1:3002; } location /test-http { proxy_pass http://127.0.0.1:3003; } } プレーンノードの使用: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello …

2
リバースプロキシでのApache URLの書き換え
Karafがホストするアプリケーションの前にApacheをデプロイしています(ApacheとKarafは別々のサーバーにあります)。Apacheをリバースプロキシとして動作させ、URLの一部を非表示にしたいのです。 アプリケーションサーバーからアプリケーションのログインページを直接取得するためのURLはhttp://app-server:8181/jellyfishです。ページはKaraf内で実行されているJettyインスタンスによって提供されます。もちろん、この動作は通常、リバースプロキシサーバーを除くすべてのファイアウォールによってブロックされます。 ファイアウォールをオフにして、このURLにアクセスすると、Jettyはログインページをロードします。ブラウザのアドレスバーが正しく変更されhttp://app-server:8181/jellyfish/login?0、すべてが機能します。 私が望んでいるのは、http://web-server(ルートから)アプリの名前(jellyfish)を抑制して、アプリサーバー上のJettyにマップすることです。たとえば、ブラウザはhttp://web-server/login?0アドレスバーに表示されるように変更され、後続のすべてのURLとコンテンツは、Webサーバーのドメインで、jellyfish乱雑にならずに提供されます。 次の設定(スニペット)を使用して、Apacheを単純なリバースプロキシとして動作させることができます。 ProxyPass /jellyfish http://app-server:8181/jellyfish ProxyPassReverse / http://app-server:8181/ ...ただし、これにはブラウザのURLが含まれている必要がありjellyfish、ルートURL(http://web-server)に移動すると404 Not Foundが返されます。 私はこれを回避するためにフラグのmod_rewrite有無にかかわらず使用しようとして多くの時間を費やしましたが、[P]成功しませんでした。その後、ProxyPassMatchディレクティブを試してみましたが、それもまったく正しいとは思えません。 以下は/etc/apache2/sites-available/、Webサーバーにロードされる現在の構成です。ローカルにホストされている画像ディレクトリがあることに注意してください。また、mod_rewriteプロキシエクスプロイト保護を維持し、mod_security誤検知を引き起こすいくつかのルールを抑制しています。 <VirtualHost *:80> ServerAdmin admin@drummer-server ServerName drummer-server ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /images/ "/var/www/images/" RewriteEngine On RewriteCond %{REQUEST_URI} !^$ RewriteCond %{REQUEST_URI} !^/ RewriteRule .* - [R=400,L] ProxyPass /images ! ProxyPassMatch ^/(.*) http://granny-server:8181/jellyfish/$1 …

1
ProxyPassでのApache httpdエラー「proxy:ap_get_scoreboard_lb」
TomcatをプロキシするようにApacheを設定しましたが、ページをターゲットにすると次のエラーが表示されます。空白のページまたは503が表示されることがあります。 [エラー] [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(2) failed in child 29611 for worker proxy:reverse [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(1) failed in child 29611 for worker https://localhost:8443/ [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(0) failed in child 29611 for worker http://localhost:8080/ 次のように、vmに2つの仮想ホストを構成しています。 [httpホスト] <VirtualHost …

4
TeamCity Tomcatに接続するようにIIS 7リバースプロキシを構成する
我々は持っているIIS 7構成されたWebサーバをして作成したいと考えリバースプロキシをするためにチームシティーの使用してインストールTomcatを同じマシン上で。 IISサーバーサイトがhttps://somesiteあり、TeamCityがにhttps://somesite/teamcityリダイレクトされてhttp://localhost:portnumberいるように見せたいです。 私がインストールされているIIS URL書き換え拡張およびアプリケーション要求ルーティングリバースプロキシを試してみて、セットアップするのが、それは働いて得ることができません。 私が見つけた最も近い答えは古いStackOverflowの質問です:https ://stackoverflow.com/questions/331755/how-do-i-setup-teamcity-for-public-access-over-httpsは 残念ながら機能していません例。 私はかなり検索しましたが、関連する例を見つけることができないようです。 どんな助けも大歓迎です!

2
一部のnginxリバースプロキシ設定が1日に1回機能しなくなる
外部のAmazon ELBから内部ELBにリクエストをプロキシするnginxリバースプロキシがあります。 要求を処理する6つのバックエンドインスタンスがあります。サイト対応の構成はこのように見えますが、異なるポート番号とproxy_passがあります。他のすべては同一です: server { listen 3000; location / { proxy_pass http://internal-prod732r8-PrivateE-1GJ070M0745TT-348518554.eu-west-1.elb.amazonaws.com:3000; include /etc/nginx/proxy.conf; } } 24時間ごとに1回、構成の1つが機能しなくなります。他のすべてのプロキシは正常に動作します。nginxを再起動すると、すべての構成が再び機能します。error.logには何も、アクセスログ、syslog、またはdmesgには奇妙なものは何もありません。 これは何か知られていますか?プロキシ設定で何か間違ったことをしましたか?調べることができる他のログはありますか?

3
nginxリバースプロキシで、Cookieのセキュアフラグを設定するにはどうすればよいですか?
nginxをリバースプロキシとして使用して、httpsのみのサイトにサービスを提供しています。したがって、このサイトのCookieに安全のフラグを付けてください。しかし、バックエンドサーバーはhttpサーバーであるため、cookieにセキュアフラグを設定しません。安全なフラグを追加するための応答としてSet-Cookieヘッダーを変更するにはどうすればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.