問題タブ [nginx-location]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
364 参照

nginx - nginxを使用してサーバーに一致するようにURLを書き換える方法は?

私はnginxが初めてです。私は 2 つのプロジェクトを持っています。1 つはlocalhost 8000を実行している django Web アプリで、もう 1 つは API サービスを提供してlocalhost 8888を実行していた tornadoです。

すべての URL リクエスト (80 ポートから) をlocalhost:8000にリダイレクトし、 /apiリクエストをlocalhost:8888 (トルネード アプリ)にリダイレクトするように nginx を設定するにはどうすればよいですか?

0 投票する
1 に答える
3708 参照

regex - Nginx で、URL とクエリ文字列全体を照合し、URL とクエリ文字列にリダイレクトする方法

私はしばらくの間探していて、回避策を試みましたが、有用なものは何も思いつきませんでした.

サイト移行からの URL の (大規模な) リストがあり、URL 全体とクエリ文字列を一致させ、別の URL にリダイレクトする必要があります。

私が見ることができる限り、次はにのみ一致/mensしますが、クエリ文字列の残りの部分は一致しません。

それが重要な理由は、以下のようにリダイレクトする必要がある、わずかに異なるクエリ文字列を持つ同様の URL がたくさんあるためですが、実際には機能します.... :-/

前もってありがとう、ポール。

0 投票する
1 に答える
98 参照

nginx - 場所に応じて異なる URL 書き換え

URL の書き換えについて明確なドキュメントを見つけることができません (ネイティブではない人にとってドキュメントは予想外に読みにくいため、理解できません)。

/*\.(js|png|jpg|css|ttf|xml)$/一致するすべてのルートを書き換えてpath/media/ファイルの存在を試み、存在する場合はそれを返す方法を探しています。404 not found

次に、で始まる場合は、/ajax/すべてを次の方向path/ajax/index.php にリダイレクトします。path/www/index.php

どうすればいいのかよくわかりません。今のところ、/media/、/ajax/、/www/の 3 つの場所を作成しましたが、rewrite を使用して返さないのが正しい方法であるかどうかはわかりません。場所はそれを行う正しい方法です。

私がsites-enabled/filefastcgi に関して書いたことをよく理解していません。これはインタープリターパスですか?

正解すれば「.phpで終わり、階層に存在する場合は実行する」ということです。

そして、php (/www/ と /ajax/) を処理する必要がある各場所にそのようなものを配置する必要があるかどうかはわかりません。特に、両方のルーティングを行う予定があるためです。また、そのようにすべきかどうかもわかりません。

0 投票する
1 に答える
453 参照

php - Nginx で wp-login.php への IP アクセスをブロックできません

wp-login.php への攻撃が発生しているので、保護することにしました。コードは次のとおりです。

wp-admin ディレクトリは問題なく保護されますが、wp-login.php の保護が機能しません。これにより、使用する IP に関係なく wp-login.php にアクセスできます。何か案が ?

0 投票する
1 に答える
938 参照

php - Nginx ロケーション マッチングでの括弧付き変数キャプチャ

私はこの場所のルールを持っています:

次のような URL に最適です。

しかし今、私は自分の場所を変更して、その中の括弧でURLを一致させる必要があります. 私はこのバージョンを使用します:

ただし、 url の書き換えは発生していません/banks/Respublika_Saha_(Yakutiya)/Neryungri/responses/

このパターンを php preg_match関数でチェックします。

そして を返すので、このパターンは url とおよび に1一致します。()

さらに、この文字列を python re.search でチェックします。

を返す0ので、このパターンは最初からこの文字列にマッチします。

しかし、nginx はそうは考えていません。

この URL に一致するように nginx ロケーション ルールを変更するにはどうすればよい/banks/Respublika_Saha_(Yakutiya)/Neryungri/responses/ですか?

PS nginxの私のバージョンはnginx/1.9.10

0 投票する
1 に答える
1723 参照

nginx - Allow index a folder, but don't serve files

I want to allow Nginx to autoindex a folder, but not serve the files. In my app, the files are stocked in a protected-files folder and this folder isn't accessible for users. When a user calls a file (eg: my-website.com/files/my-great-files.pdf), in reality, he was redirected on a PHP script that verify if the user have the rights to call this file. I know how to do that, and it's ok.

But actually, I want use a JS plugin named jBrowse, and this program need to access to a lot of files, and to the index of a folder to have the files list in it.

And I don't know how to do this... Can we return a file index in PHP ?

Or an other idea, permit to Nginx to return the index of a folder with empty files. And when a user or the plugin want access to the file, he's redirect on the PHP script that control the rights.

I've mind this:

This is ok, the user can navigate in the folder, see the files, but if he click on, he has an 403 error. But I can't replace the deny all, by a redirection to php...

This is my default.conf file:

0 投票する
1 に答える
899 参照

regex - /static/ ディレクトリを除くすべてのリクエストを index.php に書き換えます

ここに私のnginx.confがあります:

URLを書き換えずに /static/ ディレクトリ内のファイルを提供するようにnginxに依頼するにはどうすればよいですか?

0 投票する
3 に答える
4365 参照

php - css、js、静的ファイルへの変更が nginx docker コンテナーに反映されない

PHPに関するマルチコンテナアプリケーションを作成しました。php ファイルを変更すると、ブラウザで変更を確認できます。しかし、css や js などの静的ファイルを変更しても、ブラウザーには変更がありません。以下は、私の Dockerfile コードです。

Dockerfile

default.conf

nginx.conf

docker-compose.yml

0 投票する
2 に答える
751 参照

php - Nginx で同等の Apache RewriteCond

私はNginxが初めてで、WordPressサイト用に持っている次のルールをApacheからNginxに変換しようとしています. Nginx 1.4.6 を実行している Ubuntu マシンで、デフォルトの Nginx 構成から始めています。

上記のルールは、ルールで定義されたファイルを除いて、すべてのリクエストをwp-content/themes/*.phpに書き換えます。security-log.phpRewriteCond

私が集めたものから、Nginx でこれを行う方法は、locationブロックを使用することです。次のことを試しました(特定のファイル/フォルダーを除外するために何をすべきかまだわかりません)。

上記のルールは完全に無視されているようです (正規表現に何か問題があるのでしょうか?)。

次のように固定パスを指定すると、ルールが呼び出されますが、Nginx は PHP インタープリターを使用して実行するのではなく、PHP ファイルを提供します (ブラウザーはファイルをダウンロードします) (ほとんどの場合、これはfast-cgi呼び出されていないためです)。

これを達成するための最良の方法は何ですか?