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

Nginx( "eNgine x")は、軽量で高性能なHTTPサーバー、リバースプロキシ、TCPストリームプロキシ、メールプロキシで、BSDライクなライセンスの下でリリースされています。

6
nginxを再起動する方法は?
私にとっては、「killall nginx」を実行し、「sbin / nginx」で起動します。より良い再起動スクリプトはありますか? ところで:私はソースからnginxをインストールします、 'service nginx'コマンドまたは/etc/init.d/nginxが見つかりません
95 nginx  redhat 

7
リバースプロキシするときにnginxがアップストリームのホスト名を渡すようにする
ホスト名を使用していくつかのdockerコンテナーを実行します。 web1.local web2.local web3.local これらへのルーティングは、nginxによるホスト名に基づいて行われます。このセットアップの前に(インターネットに接続されている別のマシン上に)プロキシがあり、アップストリームを次のように定義しています。 upstream main { server web1.local:80; server web2.local:80; server web3.local:80; } 実際の仮想ホストの説明: server { listen 80; server_name example.com; location / { proxy_pass http://main; } } 現在、コンテナは「web1.local」ではなく「main」というホスト名を受け取るため、リクエストに適切に応答しません。 質問:要求をプロキシするときに、Host:ヘッダーでサーバーの上流グループの名前の代わりに上流サーバーの名前を渡すようにnginxに指示するにはどうすればよいですか?

5
Nginxで静的ファイルを提供するときのキャッシュを無効にする(開発用)
Nginxを使用して、開発プラットフォームで静的ファイルを提供しています。開発プラットフォームであるため、キャッシュを無効にして、各変更がサーバーに伝播されるようにします。VHostの構成は非常に簡単です。 server { server_name static.server.local; root /var/www/static; ## Default location location / { access_log off; expires 0; add_header Cache-Control private; } } HTMLファイル(http://static.server.local/test.html)にアクセスする場合、問題はありません。ファイルが変更されていない限り、サーバーは304 Not Modifiedを返し、200 OK応答を返します。ファイルが変更されたときに変更されたファイル。 ただし、JavascriptまたはCSSファイルでは動作が異なるようです。ファイルが変更されると、予想どおり200 OK応答が返されますが、古いテキストが含まれています。 この動作を説明できるNginxの内部キャッシュメカニズムはありますか?または追加する必要のある構成はありますか? 補足として、ファイルが変更されたときにNginxによって返されるヘッダーを次に示します(正しいようです)。 Accept-Ranges:bytes Cache-Control:max-age=0 private Connection:keep-alive Content-Length:309 Content-Type:text/css Date:Fri, 13 May 2011 14:13:13 GMT Expires:Fri, 13 May 2011 14:13:13 GMT Last-Modified:Fri, 13 …

7
アップストリームへの接続中にconnect()が失敗しました(111:接続が拒否されました)
私が経験してる502 GatewayディレクトリにPHPファイルにアクセスする際のエラーを(http://example.com/dev/index.php)。ログはこれを単に示します: 2011/09/30 23:47:54 [error] 31160#0: *35 connect() failed (111: Connection refused) while connecting to upstream, client: xx.xx.xx.xx, server: domain.com, request: "GET /dev/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "domain.com" これを経験したことはありません。このタイプの502 Gatewayエラーの解決策は何ですか? これはnginx.conf: user www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic …
85 nginx  502-error 


2
Nginxに異なるポートをリッスンさせることは可能ですか?
1つのLinux Azure VMで1つのNginxを作成しました。ポート番号を変更するとコンテンツが異なるように、nginxに異なるポートをリッスンさせることができます。VM上のHTTPに関連するポートを2つ以上作成すると、衝突が発生することがわかりました。誰でも私を助けることができますか?

14
Nginx 1 FastCGIがstderrで送信:「プライマリスクリプトが不明」
初めてNginxを使用しましたが、ApacheとLinuxに精通しています。既存のプロジェクトを使用していますが、index.phpを表示しようとすると、404ファイルが見つかりません。 access.logエントリは次のとおりです。 2013/06/19 16:23:23 [error] 2216#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.ordercloud.lh" そして、ここにサイトで利用可能なファイルがあります: server { set $host_path "/home/willem/git/console/www"; access_log /www/logs/console-access.log main; server_name console.ordercloud; root $host_path/htdocs; set $yii_bootstrap "index.php"; charset utf-8; …
81 nginx  php-fpm 

8
すべてのサーバー/ OS情報を非表示にできますか?
私は、NGINXを使用していることや、インターネットからUbuntuを使用していることを誰にも検出できないようにしています。サーバーをスキャンして使用しているツールを検出するツール(BuiltWithなど)があります。また、一部のクラッキングツールが検出に役立つ場合があります。この情報をすべて外部から隠すことができるのに最も良い/最も近いものは何ですか?
80 nginx  ubuntu 

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
try_filesはどのように機能しますか?
私はnginxのドキュメントを見ましたが、それでも私を全く混乱させます。 どのように機能しtry_filesますか?ドキュメントの内容は次のとおりです。 NginxHttpCoreModuleから try_files 構文:try_files path1 [path2] uri デフォルト:なし コンテキスト:サーバー、場所 可用性:0.7.27 ファイルの存在を順番に確認し、見つかった最初のファイルを返します。末尾のスラッシュはディレクトリを示します-$ uri /。ファイルが見つからない場合、最後のパラメーターへの内部リダイレクトが呼び出されます。最後のパラメーターはフォールバックURIであり、存在している必要があります。存在し ない場合、内部エラーが発生します。書き換えとは異なり、フォールバックが名前付きの場所でない場合、$ argsは自動的に保持されません。引数を保存する必要がある場合は、明示的に保存する必要があります。 パスをどのようにチェックするのか理解できません。内部エラーを望まないが、別のファイルを見つけるためにパスの残りの部分を再開させる場合はどうすればよいですか? キャッシュされたファイルを試してみたい場合、/path/app/cache/url/index.htmlそしてそれが試せない場合、/path/app/index.phpどのように書くのでしょうか?私が書いた場合: try_files /path/app/cache/ $uri include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket; fastcgi_param SCRIPT_FILENAME $document_root/index.php; 私が持っていindex index.php index.html index.htm;ます。私が訪れたとき/urlname、それはチェックしようとし/path/app/cache/urlname/index.phpた後/path/app/cache/urlname/index.html?その後、すべてを無視すると、キャッシュフォルダーを確認try_filesできtry_filesますか?私はしようとして失敗しました。
72 nginx 

4
nginxでIPv4とIPv6の個別のlistenディレクティブが必要ですか?
nginxでデュアルスタックIPv4およびIPv6仮想ホストを処理するためのさまざまな設定例を見てきました。多くの人がこのパターンを提案しています: listen 80; listen [::]:80 ipv6only=on; 私が見る限り、これはまったく同じことを達成します: listen [::]:80 ipv6only=off; 前者を使用する理由は何ですか?私が考えることができる唯一の理由は、各プロトコルに固有の追加のパラメーターが必要な場合、たとえば、deferredIPv4 のみを設定したい場合です。
72 nginx  ipv6  ipv4 

4
プロキシ経由のNginxリダイレクト、URLの書き換えと保存
Nginxでは、次のようにURLをリダイレクトしようとしました。 http://example.com/some/path -> http://192.168.1.24 ユーザーはブラウザに元のURLを表示したままです。ユーザーがリダイレクトされたら、へのリンクをクリックするとします。/section/index.htmlリダイレクトにつながるリクエストを作成するようにしたいと思います。 http://example.com/some/path/section/index.html -> http://192.168.1.24/section/index.html 再び元のURLを保持します。 私たちの試みには、プロキシと書き換えルールを使用したさまざまなソリューションが関係しており、ソリューションに最も近い構成を示しています(これはWebサーバーのWebサーバー構成であることに注意してくださいexample.com)。ただし、これにはまだ2つの問題があります。 Webサーバーhttp://192.168.1.24が受信した要求URLに含まれ/some/pathているため、必要なページの提供に失敗するため、書き換えは適切に実行されません。 ページが提供された後にリンクにカーソルを合わせると/some/path、URLに表示されません server { listen 80; server_name www.example.com; location /some/path/ { proxy_pass http://192.168.1.24; proxy_redirect http://www.example.com/some/path http://192.168.1.24; proxy_set_header Host $host; } location / { index index.html; root /var/www/example.com/htdocs; } } でウェブサーバーの設定を変更するだけのソリューションを探していますexample.com。構成を変更することもできます192.168.1.24(Nginxも)が、アクセスをプロキシする数百の異なるサーバーに対してこのセットアップを繰り返す必要があるため、これを試して回避したいと思いますexample.com。

6
httpsの「デフォルト」nginxサーバーを適切に設定する
同じマシンで複数のサーバーを実行していますが、一部はhttpのみ、一部はhttpとhttpsの両方を使用しています。メインの設定ファイルに含まれる個別のファイルで定義されたいくつかのサーバーブロックがあります。 他の構成ファイルの他のserver_namesと一致しない要求に汎用の「メンテナンスページ」を提供するhttp用の「デフォルト」サーバーをセットアップしました。httpのデフォルトサーバーは期待どおりに動作し、server_name "_"を使用し、インクルードのリストの最初に表示されます(サーバー間でserver_namesが重複している場合は、最初に表示されるものが使用されます)。これはうまく機能します。 同じサーバーブロック( "listen 80 default_server"を "listen 443 default_server"に切り替え、ページ "return 444"を提供する代わりに)を期待していますが、そうではありません。代わりに、新しいデフォルトhttpsサーバーが実際にすべての着信https接続を取得して失敗しているように見えますが、他のサーバーブロックには着信要求に対してより適切なserver_nameがあります。新しいデフォルトのhttpsサーバーを削除すると、半正しい動作が再開されます。httpsのあるWebサイトはすべて正しく読み込まれます。ただし、httpsのないWebサイトはすべて、インクルードファイルの最初のhttpsサーバーにルーティングされます(ドキュメントによると、「default_server」が表示されない場合、最初に表示されるサーバーブロックは「default」になります)。 だから私の質問は、ssl接続のためにnginxで「デフォルトサーバー」を定義する正しい方法は何ですか?なぜ「default_server」を明示的に設定すると貪欲になり、すべての接続を取得するのに対して、nginxに暗黙的に「デフォルトサーバー」を決定させると、期待どおりに動作します(間違ったサーバーがデフォルトとして設定され、他の実サーバーが正しく動作します)? これが私の「デフォルトサーバー」です。Httpは、他のサーバーを壊すことなく機能します。Httpsは他のサーバーを破壊し、すべてを消費します。 server { listen 443 ssl default_server; server_name _; access_log /var/log/nginx/maintenance.access.log; error_log /var/log/nginx/maintenance.error.log error; return 444; } server { listen *:80 default_server; server_name _; charset utf-8; access_log /var/log/nginx/maintenance.access.log; error_log /var/log/nginx/maintenance.error.log error; root /home/path/to/templates; location / { return …
71 ssl  https  nginx 

6
このnginxエラー「書き換えまたは内部リダイレクトサイクル」とはどういう意味ですか?
tail -f /var/log/nginx/error.log 2013/05/04 23:43:35 [error] 733#0: *3662 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 127.0.0.1, server: _, request: "GET /robots.txt HTTP/1.1", host: "kowol.mysite.net" HTTP/1.1", host: "www.joesfitness.net" 2013/05/05 00:49:14 [error] 733#0: *3783 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 127.0.0.1, server: _, …
67 nginx 

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