タグ付けされた質問 「proxypass」

ApacheのProxyPassとnginxのproxy_passは、どのバックエンドまたはリモートサーバーがリクエストを処理するかを指定するために使用されるディレクティブです。

4
nginx proxy_passでパスを削除する方法
で実行中のWebアプリケーションがありhttp://example.com/、別のアプリケーションを別のサーバーに「マウント」したいhttp://example.com/en。アップストリームサーバーで動作してproxy_passいるようですが、1つの問題があります: upstream luscious { server lixxxx.members.linode.com:9001; } server { root /var/www/example.com/current/public/; server_name example.com; location /en { proxy_pass http://luscious; } } 開くとexample.com/en、私のアップストリームアプリケーションが戻ります404 not found /en。アップストリームにはpathがないため、これは理にかなっています/en。 あるproxy_path適切なソリューションは?/enルートパスとして代わりにリッスンするように「上流」を書き換える必要がありますか?または、アップストリームに渡されるパスを書き換えることができるディレクティブがありますか?
77 nginx  path  proxypass 

2
SSLを使用したApache ProxyPass
SSLサイトからのリクエストを非SSLサイト経由でプロキシしたい。私のApache httpd.confは次のようになります。 <VirtualHost 1.2.3.4:80> ServerName foo.com ProxyPass / https://bar.com/ </VirtualHost> したがって、http://foo.comにアクセスすると、Apacheがhttps://bar.comにリクエストを行い、取得したページを送信することを期待しています。 代わりに、500エラーが表示され、エラーログに次のように表示されます。 [error] proxy: HTTPS: failed to enable ssl support for 4.3.2.1:443 (bar.com) おそらく、ここにディレクティブがありません。どっち? セキュリティへの影響を気にしないでください。私はリスクを完全に理解しています。

2
Nginxの場所の正規表現はプロキシパスでは機能しません
Nginxでこれら2つのロケーションディレクティブを機能させようとしていますが、Nginxの起動時にエラーが返されます。 location ~ ^/smx/(test|production) { proxy_pass http://localhost:8181/cxf; } location ~ ^/es/(test|production) { proxy_pass http://localhost:9200/; } これは私が受け取っているエラーです: nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block 誰にも馴染みのある音ですか?私はここで何が欠けていますか?
43 nginx  proxy  regex  proxypass 

4
jboss / tomcat用にnginxを構成する
サーバーフォールトで回答できるため、 この質問はStack Overflowから移行されました。 8年前に移行され ました。 Apacheを使用してポート80でJBoss / TomCatにトラフィックを渡すために、インストールと設定に使用しましたmod_jk。 nginxに相当するものはありますか?基本的に、すべてのポート80トラフィックをjbossに渡す必要があります。

2
プロキシパスが機能しない
OpenSUSE 13.1インストールでProxyPassを動作させようとしています。 私が試してみました: a2enmod proxy a2enmod proxy_http a2enmod proxy_connect systemctl restart apache2 systemctl reload apache2 (すべてのステートメントの組み合わせは無効です)。 同じエラーが何度も繰り返し表示されます。 SERVER:/etc/apache2 # apache2ctl start -f /etc/apache2/httpd-proxy.conf AH00526: Syntax error on line 4 of /etc/apache2/httpd-proxy.conf: Invalid command 'ProxyPass', perhaps misspelled or defined by a module not included in the server configuration httpd-proxy.confは次のようになります。 <VirtualHost *:80> …

3
変更URLなしの別のドメインへのNginxプロキシドメイン
私の質問はsubjにあります。私は1つのドメインを持っています、それはnginxの設定です: server { listen 80; server_name connect3.domain.ru www.connect3.domain.ru; access_log /var/log/nginx/connect3.domain.ru.access.log; error_log /var/log/nginx/connect3.domain.ru.error.log; root /home/httpd/vhosts/html; index index.html index.htm index.php; location ~* \.(avi|bin|bmp|css|dmg|doc|docx|dpkg|exe|flv|gif|htm|html|ico|ics|img|jpeg|jpg|js|m2a|m2v|mov|mp3|mp4|mpeg|mpg|msi|pdf|pkg|png|pps|ppt|pptx|ps|rar|rss|rtf|swf|tif|tiff|txt|wmv|xhtml|xls|xml|zip)$ { root /home/httpd/vhosts/html; access_log off; expires 1d; } location ~ /\.(git|ht|svn) { deny all; } location / { #rewrite ^ http://connect2.domain.ru/; proxy_pass http://127.0.0.1:8080/; proxy_redirect off; proxy_hide_header "Cache-Control"; add_header Cache-Control …
18 nginx  proxypass 

2
リダイレクトとプロキシパスを同時に使用できますか
CentOSでApache 2.2.15を使用して、TomCatアプリケーションにSSLを提供しています。 ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300 ProxyPassReverse / http://127.0.0.1:8090 これはうまく機能し、すべてが素晴らしいです。ただし、次の行を追加します。 Redirect permanent /broken/page.html https://www.servername.com/correct/page.html 上記の前に、TomCatアプリケーション自体のエラーを処理します。ただし、期待どおりに動作しないようです(つまり、何もせず、何も変更しないようです)。この方法でリダイレクトを使用することはできますか?残念ながら、アプリケーションを編集する機能はありません。

4
UNIXソケット経由でNginx proxy_pass Node.js HTTPサーバーを設定するにはどうすればよいですか?
UNIXドメインソケットを介してNode.js HTTPサーバーに接続するようにNginxサーバーを構成しようとしています。 Nginx構成ファイル: server { listen 80; location / { proxy_pass http://unix:/tmp/app.socket:/; } } (http://wiki.nginx.org/HttpProxyModule#proxy_passによる) Node.jsスクリプト: var http = require('http'); http.createServer(function(req, res) { console.log('received request'); req.end('received request\n'); }).listen('/tmp/app.socket'); 今、私が電話しようとすると curl http://localhost/ curlで502 Bad Gatewayエラーページのみが表示され、Node.jsプロセスでは何も表示されません。 私は何か間違っていますか? 編集: Quantaのソリューションを試した後、Node.jsプロセスがソケットへの接続を正しく確立するため、間違いはNginxの設定に関係する必要があります。 私もこの方法でNginxを設定しようとしました: upstream myapp { server unix:/tmp/app.socket; } server { listen 80; location / …

1
ProxyPass:ディレクトリURLを非標準ポートにリダイレクトします
私はGoogleを検索してきましたが、答えを見つけるのにあまり成功していません。Ubuntuでサーバーを実行していますが、さまざまな非標準ポートを使用するプログラムがインストールされています。それぞれが異なるポートを使用します。私の場合は9090、9091、9092、9093、9094です。Apacheサーバーをセットアップし、IPアドレスを入力する代わりにサーバーにアクセスできるドメイン名を持っています。私が探しているのは、リストしたさまざまなポートを指すことができるディレクトリを作成する方法です。私のようなものが欲しい: https://www.mydomain.com/app1 https://www.mydomain.com/app2 http://www.mydomain.com/app3 一部のポートはSSLを介しており、一部はそうではありません。使いやすいように、順番に並べています(9090-9094)。/ app1がSSLポート9090を指すようにし、/ app2がSSLポート9091を指すようにし、/ app3が非SSLポート9092を指すようにします。それを行う簡単な方法はありますか?他の投稿に基づいてProxyPassなどを追加しようとしましたが、何も機能しませんでした。新しいサイトを追加する必要がありますか? また、これにファイルの編集が含まれる場合は、ファイルのデフォルトの場所と追加する場所をリストできれば幸いです。ProxyPassを追加するように言っている投稿を見続けたので、VirtualHostの内部にあると仮定しましたが、完全にはわかりませんでした。基本的に、私はWebサーバーのセットアップについてほとんど知らないので、そのように扱われる必要があります。 間違ったタグはおaび申し上げます。投稿を読むのに時間を割いてくださり、ご協力いただければ幸いです。 編集:明確にするために、アプリケーションはすでにからアクセスできます。これらのアプリケーションによって公開された同じ場所/ページにアクセスするhttps://www.mydomain.com:9090ための方法が欲しいのhttps://www.mydomain.com/appNameです。 編集2:/ etc / apache2 / sites-available / defaultから <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory …

3
ProxyPassの使用方法を教えてください
更新:以下の2つの答えを試してみて、改訂された質問を追加しました。 こんにちは、 これを読んでいるなら、おそらくApacheのmod_proxyとそのProxyPass関数に精通しているでしょう。他の多くの人と同様に、内部ネットワークの外部からアクセスできるアプリケーションがあるという問題がありますが、そのアプリケーション自体が別のマシン上の他の内部アプリにアクセスするため、この設定でリモートアクセスを開始すると、状況が不安定になります。 だから、私のセットアップは非常に簡単です、私は持っています: マシン#1でリモートアクセスが有効になっています。ホスト名を使用してアクセスすると、そのマシンで実行されているPHPアプリケーションが吐き出されます。 マシン#2はDjangoを実行する新しいアプリケーションであり、完全に異なるバックエンド(authも含む)を使用し、別のマシンでホストされています。イントラネットでは、基本的に内部192.168.0.101 ipにリンクする単純な名前のホスト名を介してアクセスします。 ProxyPassを試して設定してみました。たとえば、/ newにパスすると、新しいアプリケーションに送信されます。 ProxyPass / new http://192.168.0.101/ この種の機能は、他のアプリへのリクエストを取得しますが、Djangoアプリが/ auth / login /にリダイレクトしようとするため、すぐには認識されないため、機能しません。自分でurlをfoo.net/new/auth/loginに変更すると、ログインページが表示されますが、ブラウジング全体でこれを行うのは不便です。 では、ProxyPassを希望どおりに機能させるにはどうすればよいですか?Apacheで何かをする必要があるので、他のアプリでは常に/ newの前に/ newが書き込まれますか、それともDjangoアプリ内で変更する必要がありますか? ヒントやポインタも同様にいただければ幸いです。御時間ありがとうございます

1
nginxが特定のサブディレクトリをリバースプロキシしないようにする方法
Apacheでは、1つ以上のサブディレクトリ(「!」付き)を除くすべてをProxyPassできます。 ProxyPass /subdir ! ProxyPass / http://localhost:9999/ Nginxに相当するものは何ですか? 私の最初の推測は明らかに機能していません: location /subdir { root /var/www/site/subdir; } location / { proxy_pass http://localhost:9999/ ; }

1
Apache ProxyPassまたはProxyPassMatch(ファイルをプロキシから除外するため)
VirtualHostを設定して、すべての要求をポート9000で実行されている別のサーバーにプロキシします。 私が持っているもの: ProxyPass / http://localhost:9000/ ProxyPassReverse / http://localhost:9000/ 私が試したこと: ! ProxyPass /test.html http://localhost:9000/ ProxyPass /test.html ! http://localhost:9000/ ProxyPassMatch !^/(.*\.html)$ http://localhost:9000/$1 どれもうまくいきませんでした... ファイルまたはファイルのセットをプロキシから除外したいのですが、ドキュメントに「!ディレクティブはサブディレクトリをリバースプロキシしたくない場合に便利です」と書かれていますが、例はありません。その状況のた​​めに。

5
WebサーバーのDNSをあるIPアドレスから別のIPアドレスにスムーズに移行するにはどうすればよいですか?
現在、Linux / Apacheサーバー用に登録されているドメイン名を、新しいIPアドレスで別のサーバーに置き換えます。 データの移行は比較的速く、そのプロセス中に5分の中断が許容されます。 DNSレコードのTTLは6〜12時間で、明らかに高速化できません。 この変更の結果として考えられるものは何ですか?おそらく古いアドレスをまだ見ているユーザーは引き続き古いサーバーにアクセスしますが、DNSキャッシュの有効期限が切れているか空のユーザーには新しいドメインが表示されます。 古いサーバー(Apacheまたはiptablesを使用)から新しいIPに何らかのリダイレクトを行うことはできますか?古いサーバーは、必要な限り実行を継続できます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.