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

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

4
カスタムヘッダーを返すnginx
次の例があります location / { proxy_read_timeout 2000; proxy_next_upstream error; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass_header X_CUSTOM_HEADER; proxy_redirect off; proxy_max_temp_file_size 0; proxy_pass https://prod; break; } 今、私は次のカールラインを使用するとき curl --head -H "X_CUSTOM_HEADER: foo" http://domain.com/api/test 今では動作しません。バックエンドのapache / phpにはヘッダーが表示されません。私がnginxをバイパスする場合、それは機能します curl --head -H "X_CUSTOM_HEADER: foo" http://web1.domain.com/api/test

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

5
SSLクライアント証明書認証でバックエンドするNginxプロキシ
私には2台のサーバーがあり、どちらにもnginxがあります。サーバーAは443をリッスンしており、クライアントSSL証明書で認証するように構成されています。 サーバーBには、nginxを介してサーバーAと通信する必要がある内部プロセスがあります。 8080(すべてローカル通信なので暗号化なし)をリッスンし、ServerA:443にproxy_passするサーバーBでNginxを構成したいと思います。 問題は、クライアント証明書をどのように注入するかです。私は、それを行うproxy_xxxx関数を見つけられませんでした。 私はsocatでそれと同等のものを作る方法を知っていますが、私の要件はnginxを使用することです。

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。 何が問題なのですか、どうすれば修正できますか?

5
Nginx。リストにないSSL仮想サーバーへのリクエストを拒否するにはどうすればよいですか?
同じIPにワイルドカードSSL証明書といくつかのサブドメインがあります。nginxリストされていないサーバー名で実行されていないように見えるように、nginxに言及されたサーバー名のみを処理し、他のサーバーへの接続をドロップするようにし ます(応答しない、応答しない、拒否する、デッドである、応答中の1バイトではない)。私は次のことをします ssl_certificate tls/domain.crt; ssl_certificate_key tls/domain.key; server { listen 1.2.3.4:443 ssl; server_name validname.domain.com; // } server { listen 1.2.3.4:443 ssl; server_name _; // deny all; // return 444; // return 404; //location { // deny all; //} } 最後のサーバーブロックのほとんどすべてを試しましたが、成功しませんでした。既知の仮想サーバーまたはエラーコードから有効な応答を受け取ります。助けてください。

2
アップストリームサーバーのNginx httpプレフィックス
nginxを使用して、2つのドッカーコンテナーへのプロキシパスを試みています。ここに私のアップストリーム設定ファイルがあります: upstream api_servers { server http://192.168.49.4:49155; server http://192.168.49.4:49156; } これは私がそれをロードしようとするものです: nginx: [emerg] invalid host in upstream "http://192.168.49.4:49155" in /etc/nginx/conf.d/api_upstream.conf:3 nginx: configuration file /etc/nginx/nginx.conf test failed http://プレフィックスを削除すると、エラーが発生しなくなりました。何故ですか?
12 centos  nginx  vagrant 

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 …

1
私のnginxの書き換えはphpファイルをダウンロードしています
私がしようとしている次の書き換えルールがあります: location / { index index.php index.html; rewrite ^/test$ /test.php break; } そして私も持っています: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /home/sites/default$fastcgi_script_name; fastcgi_index index.php; } 通常のphpファイルは問題なく動作しますが、リダイレクトは解析するのではなく、リダイレクト先のphpファイルをダウンロードするだけのようです。 私は何が欠けていますか?ダウンロードする代わりに、fastcgiを最初のロケーションブロックに配置してファイルをロードしましたが、それでもphpとして解析されませんでした。
12 php  nginx  rewrite 

1
SNIでnginxが最初に送信するSSL証明書を定義する方法
Debian SqueezeのOpenSSL 0.9.8oで約30ドメインのnginx 1.2.7を使用しています。それらのうちの2つで、SSLを有効にしました。 SSL構成は両方のドメインで使用されます。 listen 443 ssl; ssl_certificate /etc/nginx/ssl/example.org-unified.crt; ssl_certificate_key /etc/nginx/ssl/example.org.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security max-age=600000; ssllabs.comチェッカーで両方のドメインをチェックすると、1つのドメインに対して「このサイトはSNIサポートのあるブラウザーでのみ機能します」という通知が表示されます。他のドメインの場合、このメッセージは表示されません。デフォルトでは、nginxはアルファベット順で最初のドメインの証明書をSNIサポートのないクライアントに送信するようです。この動作を変更できますか? つまり、SNIサポートのないクライアントでもSSLが機能する特定のドメインを1つ持つようにnginxを構成したいのです。他のドメインもSSLで動作するはずですが、SNI対応クライアントでのみ動作する場合は問題ありません。 ありがとう!
12 nginx  ssl  sni 

4
Nginx、Apache、mod_wsgiを使用したDjangoアプリのデプロイ
標準の開発環境を使用してローカルで実行できるdjangoアプリがあります。これを本番用にEC2に移動します。djangoのドキュメントでは、apacheとmod_wsgiを使用して実行し、静的ファイルを読み込むためにnginxを使用することを推奨しています。 Ec2ボックスでUbuntu 12.04を実行しています。私のDjangoアプリ「ddt」には、ddt.wsgiのサブディレクトリ「apache」が含まれています import os, sys apache_configuration= os.path.dirname(__file__) project = os.path.dirname(apache_configuration) workspace = os.path.dirname(project) sys.path.append(workspace) sys.path.append('/usr/lib/python2.7/site-packages/django/') sys.path.append('/home/jeffrey/www/ddt/') os.environ['DJANGO_SETTINGS_MODULE'] = 'ddt.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() aptからmod_wsgiをインストールしました。私のapache / httpd.confには NameVirtualHost *:8080 WSGIScriptAlias / /home/jeffrey/www/ddt/apache/ddt.wsgi WSGIPythonPath /home/jeffrey/www/ddt <Directory /home/jeffrey/www/ddt/apache/> <Files ddt.wsgi> Order deny,allow Allow from all </Files> </Directory> apache2 / sites-enabledの下 <VirtualHost …

3
Nginxには構成ファイルが含まれていませんか?
Nginxに含まれる構成ファイルの順序は固定ですか、それともランダムですか?Apache は、ワイルドカード文字がアルファベット順に展開されることを明示的に述べています。Nginxではこれは当てはまらないようで、マニュアルにはそれについて何も書かれていません。 私のセットアップで20_example.comは、以前に含まれて00_defaultいましたが、共有ディレクティブ(ログ形式など)を定義するという私の目的を無効にします。

4
Nginx vhostに条件付きでファイルを含めるにはどうすればよいですか?
以下の行では、私は可能性がある追加の含むサイト固有の設定ファイル持ってfastcgi_paramsそのサイトに固有を。このファイルが存在する場合、ロードしたいです。 server { listen 80 default; server_name _; root /path/www/$host; # Pass PHP scripts to php-fastcgi listening on port 9000 location ~ \.php { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; if (-f /path/www/$host/nginx.conf) { include /path/www/$host/nginx.conf; } } } ただし、これは機能せず、エラーが発生します: nginx:[emerg]「include」ディレクティブはここでは使用できません... 更新 私はむしろseparatlyチェックするよりも、私は聞かせできると思っ含ま私のためのチェックを。 server { listen 80 default; server_name _; root /path/www/$host; …

5
+200の同時接続後のNGINXタイムアウト
これは私のものですnginx.conf(PHPが関与していないか、他のボトルネックがないように構成を更新しました)。 user nginx; worker_processes 4; worker_rlimit_nofile 10240; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; error_log /var/www/log/nginx_errors.log warn; port_in_redirect off; server_tokens off; sendfile on; gzip on; client_max_body_size 200M; map $scheme $php_https { default off; https on; } index index.php; client_body_timeout 60; client_header_timeout 60; keepalive_timeout 60 60; send_timeout …

6
Nginxによって処理されるのではなく、PHPファイルがダウンロードされるのはなぜですか?
同じ問題があり、タイプハンドラーの追加を指す多くの解決策がありますが、それはApacheの問題です。 Arch Linux、Nginx、PHP、およびPHP-FMPを使用していますが、なぜPHPファイルが実行されずにダウンロードされるのかわかりません。 ここに私のnginx.confがあります: #user http; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; …
12 php  nginx  php-fpm 

1
ApacheのNginxのtry_filesと同等のものは何ですか?
Nginxにはtry_files、「ファイルの存在を順番にチェックし、見つかった最初のファイルを返す」構成ディレクティブがあります。私はこれをするのがとてもきれいだと思う location ~* \.(gif|jpe?g|css|js)$ { try_files $uri 404; } これは、Webフレームワークに煩わされることなく、静的ファイルを直接提供する安全な方法です。Apacheで同じことを行うにはどうすればよいですか?
12 apache-2.2  nginx 

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