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

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

3
/etc/nginx/nginx.conf:86の不明なディレクティブ「ストリーム」
私は持ってnginx/1.12.0おり、ドキュメントに従ってそれはstreamモジュールを含んでいます。次のコマンドでnginxをインストールしました。 sudo add-apt-repository ppa:nginx/stable sudo apt-get update sudo apt-get install nginx nginx -v nginx version: nginx/1.12.0 私はストリームディレクティブを追加しようとしましたnginx.conf: stream { upstream sys { server 172.x.x.x:9516; server 172.x.x.x:9516; } server { listen 9516 udp; proxy_pass sys; } } しかし、再起動するnginxと、nginxログに以下のエラーが表示されます unknown directive "stream" in /etc/nginx/nginx.conf:86 nginx -V output nginx version: nginx/1.12.0 built with …
11 nginx  stream 

3
サーバーでALPNがサポートされていないのはなぜですか?
私は現在、NGINX 1.11.9とopenssl 1.0.2gを使用してUbuntu 16.04.1 LTSサーバーを実行しています。 私が読んだすべてによると、これらのバージョンはALPNをサポートしているはずですが、KeyCDNのHTTP / 2テストツールでテストを実行すると、「ALPNはサポートされていません」と表示されます。 そして、私が実行するとecho | openssl s_client -alpn h2 -connect example.com:443 | grep ALPN、私は得ます: depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root verify return:1 depth=2 C = GB, ST = Greater Manchester, L …

4
バンドルされていないWebサーバーでGitlab-omnibusをセットアップする方法
インストール (バージョン)のgitlabomn​​ibusパッケージを使用してパッケージをインストールしました。debian 77.8.1-omnibus-1_amd64.deb バンドルされていないWebサーバーの使用で説明されているように設定を変更します。 reconfigureコマンドを実行しますsudo gitlab-ctl reconfigure(エラーなしで完了)。 Nginx nginxパッケージが次の/etc/gitlab/gitlab.rbファイルで作成したものを除いて、このgitlabの '設定がありませんでした。 external_url 'http://git.mydomain.fr' web_server['external_users'] = ['www-data'] nginx['enable'] = false ci_nginx['enable'] = false ログ /var/log/nginx/gitlab_error.log 2015/02/28 14:29:16 [alert] 4137#0: *14738 768 worker_connections are not enough while connecting to upstream, client: x.x.128.194, server: git.mydomain.fr, request: "GET / HTTP/1.0", upstream : "http://x.x.128.194:80/", host: "git.mydomain.fr" …

1
Nginx HTTPが機能しない-「ダウンロード」というファイルをダウンロードする
httpsでnginxサイトにアクセスすると機能しますが、httpでは「download」というファイルをダウンロードし(拡張子はまったくありません)、57バイトでメモ帳などで開くと、意味不明な内容が表示されます。 これが私のvhost設定です: server { server_name www.domain.com domain.com; listen 80; return 301 https://domain.com$request_uri; } server { server_name www.domain.com listen 443 ssl; /* SSL Stuff */ return 301 https://domain.com$request_uri; } server { server_name domain.com; index index.php index.html index.htm; listen 443 ssl; root /usr/share/nginx/domain.com; /* SSL Stuff */ location / { try_files $uri …
11 nginx 

2
CherryPyアプリのデプロイ:スタンドアロン、WSGIサーバー、NGinx?
1つのVPSを使用して、トラフィックの少ない複数のCherryPyアプリをサブディレクトリとして展開するつもりです。例:example.com/app1、example.com/app2など WSGIのデプロイについて調べたところ、アプリのデプロイに推奨される方法は、WSGIサーバー(Gunicorn、uWSGIなど)とNGinxをリバースプロキシ設定で使用することです。特に私のCherryPyアプリ自体がWebサーバーであるため、2つのWebサーバーをタンデムで使用するのはやり過ぎのようですが、どこにでもあるので、このアイデアを却下したくありません。私は確かに専門家ではないので、話し合いたいと思います。 3つのオプションが表示されます。 CherryPyを単独でデプロイします。 Gunicornまたは別のWSGIサーバーの下にデプロイします。 WSGIサーバーの下にデプロイし、NGinxにリバースプロキシします。これは、みんなのソリューションのようです。 私の質問: どこにでもこのパターンが見られる主な理由は何ですか?NGinxはそれで良いのでしょうか? トラフィックの少ないアプリの場合、ネイティブのCherryPyサーバーで十分ですか、それとも試してはいけませんか? どんなアドバイスでもよろしくお願いします。

1
Nginxの特定のパスでSSLを無効にする
パスがで始まるURLへのリクエストを除くすべてのリクエストをHTTPSで実行したいWebサイトがあります/foo/。Nginxでこれをどのように構成しますか? 現在、すべてのリクエストをSSLで実行しています。 server { listen 443; ssl on; ssl_certificate /home/admin/ssl/ssl.crt; ssl_certificate_key /home/admin/ssl/ssl.key; server_name www.mydomain.com; location / { proxy_pass http://localhost:8000; ... } }
11 nginx 

1
ルートの場所をサーバー{}ブロックの変数として参照する
私のnginxサーバー{}ブロックで、パスを使用してルートを定義しています。後でこのパスをどのように参照できますか? これは私が達成しようとしていることです: server { listen 80; root /var/www/foosite; ... include $root/*.ngaccess; } 残念ながら、$ rootを使用しても機能しません(私が定義していないため)。Nginxはルート値にアクセスする方法を提供しますか?
11 nginx 

1
リクエストURIからファイル名のみを抽出する方法
ファイルの拡張子に応じてリクエストuriを書き換え、uriからファイル名のみを抽出して別のフォルダーに保存しようとしています。ここでの問題は、ファイル名と使用可能な変数には事前に定義された変数ではないuri、request_uriとrequest_filename完全なURIを与えます。 server{ set $file_folder D:/nginx-1.0.15/imageAll/; location ~*+.(gif|jpg)$ { try_files $uri @imgstore; } location @imgstore { proxy_pass $file_folder$request_filename; proxy_store on; proxy_temp_path /nginx-1.0.15/images/; proxy_store_access user:rw group:rw all:r; } } 私ができる最善のは、私が入れたときに、拡張子.JPGまたは.GIFを得ている$1の代わりに$request_filename、このように: location @imgstore { proxy_pass $file_folder$1; } だから、私は知りたい: リクエストからファイル名を取得する方法は? 画像をフォルダから別のフォルダに保存するのは正しい方法ですか?
11 nginx  rewrite  images 


1
nginxを使用したホームディレクトリ内のホスティングフォルダー
adduserスクリプトに条件を追加して、新しいユーザーを作成するたびにnginx.confを更新して〜/ wwwをhttp:// ipaddress /〜userとしてロードします。 また、ユーザーの名前がwww.domainnameの場合、〜/ wwwフォルダーでそのドメイン名をホストします。 これを既に実行しているスクリプトはありますか?
11 linux  nginx  unix 

4
RAMから静的コンテンツを提供するようにnginxを構成する方法
NginxをWebサーバーとして設定したい。画像ファイルをディスクではなくメモリ(RAM)にキャッシュしたい。私は小さなページを提供しており、常にRAMから提供されるいくつかの画像が必要です。NginxにはコンテンツをRAMにキャッシュする機能があると思うので、これにはVarnish(または他のツール)を使用したくありません。このためにNginxをどのように構成できるかわかりません。いくつかの組み合わせを試しましたが、うまくいきませんでした。Nginxは常にディスクを使用して画像を取得します。 たとえば、次のコマンドでApacheベンチマークをテストしてみました。 ab -c 500 -n 1000 http://localhost/banner.jpg 次のエラーが発生します。 socket: Too many open files (24) これは、Nginxがディスクから同時に多くのファイルを開こうとしているため、OSがこの操作を許可していないことを意味します。誰でも私に正しい設定を提案できますか?
11 nginx  cache  memcache 

4
Cookieを使用してNginxプロキシターゲットを制御していますか?
興味深いApache mod_rewrite設定を使用してリバースプロキシを変換して、代わりにNginxを使用しようとしています(外部の懸念により、ApacheからNginxに移行しているため、この部分を除いてほとんどすべてが正常に機能します)。 私の最初の設定は、HTTP Cookie(アプリケーションによって設定された)を読み取り、その値に応じて、リバースプロキシを異なるバックエンドに転送することでした。それはこのようなものでした: RewriteCond %{HTTP_COOKIE} proxy-target-A RewriteRule ^/original-request/ http://backend-a/some-application [P,QSA] RewriteCond %{HTTP_COOKIE} proxy-target-B RewriteRule ^/original-request http://backend-b/another-application [P,QSA] RewriteRule ^/original-request http://primary-backend/original-application [P,QSA] 私はNginxを使用して同じことを達成しようとしています、そして私の初期設定はこのようなものでした( "proxy_override"はCookieの名前です): location /original-request { if ($cookie_proxy_override = "proxy-target-A") { rewrite . http://backend-a/some-application; break; } if ($cookie_proxy_override = "proxy-target-B") { rewrite . http://backend-b/another-application; break; } proxy_pass http://primary-backend/original-application; } …

2
nginx proxy_pass応答ヘッダーの場所の書き換え
このnginxインスタンスの目的は、GitLabとOpenWRT Luciにリバースプロキシを介してリダイレクトさせることです。それはすでに他のいくつかのウェブサイトで機能しており、すべてがこの問題に対抗するように見えるベースURLを持っています。 この例のGitLabは、ローカルサーバーのポート9000にあります。 nginxウェブサイトはポート8080にあります。 OpenWRTにもまったく同じ問題がありますが、/ cgi-bin / luci / サンプルの場所に関連するnginx設定は次のとおりです。 location /gitlab/ { proxy_pass http://127.0.0.1:9000/; proxy_redirect default; } 結果は末尾のスラッシュを付けても付けなくても同じです。 この場所に適用されているいくつかのヘッダープロキシ構成オプションがあります。 # Timeout if the real server is dead proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; # Basic Proxy Config proxy_set_header Host $host:$server_port; proxy_set_header Origin $scheme://$host:$server_port; proxy_set_header Connection $http_connection; proxy_set_header Cookie …

1
nginx.confを使用してGoogleウェブマスターツールでサイトの所有権を確認するにはどうすればよいですか?
数年前から、Googleウェブマスターツールのサイト所有権の確認プロセスでは、単にそこに戻ってに戻るの200 OKではなく、確認ファイルに特定のコンテンツが必要であり、近くにある他のファイルが返されることを確認する必要がありました404 Not Found。 新しい要件で、Googleウェブマスターツールのサイト確認ファイルをnginx.conf単独で提供するにはどうすればよいですか。

5
ホスト名に基づく動的nginxドメインルートパス?
必要に応じて無制限の___.framework.locドメインを作成できるように、開発用のnginx / PHPサーバーを基本的なマスター/キャッチオールvhost構成でセットアップしようとしています。 server { listen 80; index index.html index.htm index.php; # Test 1 server_name ~^(.+)\.frameworks\.loc$; set $file_path $1; root /var/www/frameworks/$file_path/public; include /etc/nginx/php.conf; } ただし、nginxはこのセットアップに対して404エラーで応答します。私がlocalhost使用している構成が正常に機能するため、nginxとPHPが機能し、権限を持っていることを知っています。 server { listen 80 default; server_name localhost; root /var/www/localhost; index index.html index.htm index.php; include /etc/nginx/php.conf; } 問題を見つけるために何をチェックすべきですか?以下は、両方がロードしているphp.confのコピーです。 location / { try_files $uri $uri/ /index.php$is_args$args; } …
11 php  nginx  virtualhost 

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