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

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

2
Nginxは1128バイトを超えるヘッダー行を静かにドロップします
NginxをuWSGIアプリケーション(Djangoアプリ)のリバースプロキシとして設定しています。Djangoアプリがホストしているコンテンツの性質により、URLが長くなる場合があります。本当に長い。このため、RefererHTTPヘッダーも長くなる場合があります。 ここに問題があります。Nginxは、Referer1128バイトを超えると、クライアントから受信したものをドロップします(試行錯誤により発見)。1128バイト以下はすべてアップストリームサーバーに渡されます。より大きなものはすべてドロップされます。DjangoのCSRF保護メカニズムには無傷が必要なため、これは問題Refererです。 ここに私のNginx設定の関連セクションがあります。ファイル: location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header Referer $http_referer; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } Nginxのドキュメントを調べましたが、クライアントヘッダーの最大長を制御する設定が見つかりませんでした。イライラして、私はNginxのソースコードを注ぐことさえ始めました。 NginxをReferer変更せずにアップストリームサーバーに渡すために何をする必要がありますか? バージョン情報 Ubuntu 14.04サーバー64ビット nginx / 1.4.6(Ubuntu) uWSGI 1.9.17.1-debian Django 1.7.0

1
プロジェクトフォルダーでnginxの書き換えを管理する
私は、Apacheからnginxに移行する方法を理解しようとしています。開発者が変更ルールを柔軟に変更できるようにします。これが現在の設定です。 プロジェクトのルートフォルダー(およびいくつかのサブフォルダー)に.htaccessファイルがあります。 この.htaccessファイルでは、開発者は特定のスクリプトへのかなりパーマリンクの書き換えを定義できます(「グローバル」index.phpファイルは使用しません) この.htaccessファイルはGitリポジトリに含まれているため、書き換えを追加/変更する際に、開発者がサーバー構成を変更する必要はありません(許可されていません)。 既に学んだ限り、nginxに相当するディレクトリごとの.htaccessのようなものはありません。では、どうすればこれを解決できますか?書き換えを解決するために「グローバルな」index.phpファイルを使用する必要がありますか?それはおそらく全体的なパフォーマンスを大幅に低下させるでしょう。 PSお気づきかもしれませんが、私はnginxを使用したことがありません。
1 nginx  rewrite 

1
NginxがWordPressの/ wp-admin / rootに対して404エラーを表示する
次のnginxブロックを使用して、mysite.com / blogを/ var / www / mysite / wordpress /ディレクトリにルーティングしています。 location /blog { root /var/www/mysite/wordpress; rewrite ^/blog/(.+)$ /$1 break; try_files $uri $uri/ /blog/index.php?q=$uri&$args; index index.php; location ~ \.php { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_split_path_info ^(?:\/blog)(.+\.php)(.*); fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } mysite.com/blog/wp-admin/に404エラーが表示されることを除いて、すべて正常に動作します。mysite.com/blog/wp-admin/index.phpにアクセスすると期待どおりに機能するため、インデックスルールが機能していないようです。ここで何が問題になりますか?

1
Nginxエラー500ページのキャッシュなし
これはあまり意味がありませんが、nginxがエラー500を処理するとき、クライアントが次に接続するときに新しいコンテンツをチェックするべきではないヘッダーを送信するようです。 更新することで回避できますが、一部のユーザーは、ヒットした後にキャッシュを完全にクリアする必要があります。 これはデフォルトの機能ですか?そして、もしそうなら、nginxがこれを行うのを防ぐ方法はありますか? それが違いを生む場合、nginxが接続してコンテンツを取得するGunicornプロセスを再起動するときに起こるようです。

1
Drupal Boost .htaccessをNginxに変換する
Boostモジュールをインストールしてnginxで動作させようとしています。私たちが知っているように、BoostはApacheのようにnginxディレクティブを生成しません。 Boostには、Apacheの.htaccess用の次のディレクティブがあります。 ### BOOST START ### # Allow for alt paths to be set via htaccess rules; allows for cached variants (future mobile support) RewriteRule .* - [E=boostpath:normal] # Caching for anonymous users # Skip boost IF not get request OR uri has wrong dir OR cookie is set OR …

1
NGINX-ポート9000で実行されているサービスへのリバースプロキシ
IRCクライアント(「The Lounge」)をポート9000で実行しています。次に、そのポートへのNGINXリバースプロキシを作成し、SSLで保護することにより、Webからアクセスできるようにしたいと思います。css、javascriptsなどのURLを書き換えて、別の場所で検索する必要があります。 これは、ページがブラウザに到達したときのページのソースコードの外観です。 <link rel="stylesheet" href="css/bootstrap.css"> <link rel="stylesheet" href="css/style.css"> <link id="theme" rel="stylesheet" href="themes/example.css"> <style id="user-specified-css"></style> <link rel="shortcut icon" href="img/favicon.png" data-other="img/favicon-notification.png" data-toggled="false" id="favicon"> <link rel="apple-touch-icon" sizes="120x120" href="img/apple-touch-icon-120x120.png"> <link rel="manifest" href="manifest.json"> すべてのリンクを「irc / LINKNAME」に書き換える必要があります。例: "css/bootstrap.css" -> "irc/css/bootstrap.css" "manifest.json" -> "irc/manifest.json" 私はsub_filterが行く方法であることを知っていますが、どのようにそれをすべてのリンクと一致させ、「irc /」を接頭辞に付けるのですか? sub_filter "(.?)" "irc/"; sub_filter_once off; もちろん、すべてのディレクトリとファイルに対してsub_filterを作成することもできますが、それはおそらく間違った方法です。

3
セッションでのNginxの負荷分散
nginxでの負荷分散の設定は非常に簡単で、試してみたいと思いました。私の唯一の懸念はセッションについてです。nginxを利用して、クライアントからのすべての後続の呼び出しを同じサーバーにルーティングしてセッションのスティッキ性を実現するにはどうすればよいですか? ありがとう
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.