nginx
nginx の proxy_redirectを知りました。 Locationを書き換えることができます。 シンタックス proxy_redirect from to 実例 proxy_redirect http://localhost:800 https://$server_name 効果 nginx のリバプロ先からLocation・Refreshが返されたとき、その転…
nginx lua リクエストのURLを取得する lua 側で特にすることはない。nginx側にある変数を参照する local url = ngx.var.scseheme .. ngx.var.server_name .. ngx.var.uri local u = string.format("%s://%s%s", ngx.var.scheme, ngx.var.server_name,ngx.var…
nginx で単純に、リクエストPATHを返す 単純に、リクエストされたPATHを表示するだけのWEBアプリケーション(?) # vim: ft=nginx ts=2 sw=2 sts=2 server { server_name test.example.tld; listen 127.0.0.1:443 ssl; ssl_certificate_key /etc/letsencryp…
nginx で 内部リクエストを使ってコンテンツを書き換える /user/xxx のときは、普通に見せて、/user/json/xxxのときは、JSONだけを返すような処理を nginxの前捌き(プロキシ)だけで実現したい。 Location と 内部リクエストを使って、コンテンツを書き換え…
nginx で WebDAVを有効にする。 nginx の webdavの速度を試すのはありかも。 WebDAVはiOSからの唯一のデータ持ち出し手段だし。 webDAVの利点 現在のところ、SFTP/FTPSなどがiOSで手軽に使えなので、WebDAVがすべてのOSで一番手っ取り早いデータの同期方法で…
nginx で lua を使う インストールと準備 deiban の場合は次で一発で終わる。 sudo apt install libnginx-mod-http-lua 最初に第一歩 location ~ / { default_type 'text/html'; content_by_lua "ngx.say('Hello, ngx_lua World!')"; } アクセスしてみる。 l…
debian のnginxでluaを使ってたのでUbuntuで使おうと思ったらなかった。 debian のnginx には lua があった。どこで入れたんだっけ。 nginx -V 確認したけどコンパイルでは入ってない。 モジュールでは入ってる。 apt-file show libnginx-mod-http-lua libng…
ファイルアップロードで失敗する mattermostでファイルをアップロードしようとすると、アップロードで止まってしまう。 { "create_post.fileProcessing": "処理しています...", } 処理していますは、とmattermostのソースコードで日本語化ファイルをみる と"…
SSLHで dohをさばけない dig DoHでDNS問い合わせがうまく行かないと思って4時間格闘した結果、DoHはdns-cryptなので、純粋なSNI/ALPNではないとわかった。まじかよ。それTLS特定フラグで識別可能じゃん。暗号化解除しなくても止められちゃうじゃん。 色々調…
nginx + php-fpmで構成するときに「アップロードサイズ」に注意する。 php-fpm 側のphp.iniの設定でアップロード上限がある、 nginx 側にも、アップロード上限がある。 後者を見落としがちなので注意する。わたしもたまにやらかす。 NextcloudのデータをVPS…
apt-cacher を443 でnginxの後ろに置こうとした。 動かない。 ログを見た。 10.10.1.240 - - [17/Mar/2023:17:45:20 +0900] "CONNECT esm.ubuntu.com:443 HTTP/1.1" 400 166 "-" "-" 10.10.1.240 - - [17/Mar/2023:17:45:20 +0900] "CONNECT esm.ubuntu.com:…
昨日、echoモジュールに付いて記事を書いたら 直接 return できるよって教えてもらった。 nginx設定 で 直接HTMLを書き出す。echo モジュール。 - それマグで!直接 return 200 "<!DOCTYPE html><h1>It works.(nginx)</h1></html&…
2022-08-17 追記 return 200'message' を使ったほうがスッキリします → https://takuya-1st.hatenablog.jp/entry/2022/08/17/161838 echo モジュールでHTMLを応答する。 nginx設定 で 直接HTMLを書き出す。echo モジュール。 まるで、古(いにしえ)の技術の…
nginx で https と ssh をリッスンする nginx には $ssl_preread_protocol というStream設定が用意されている。これを使うとTLSプロトコルごとに、プロキシ先を変えることができる ただし443 はストリームが使うので、リッスン先をいい感じに帰る必要がある…
httpsを設定したら、次のようにエラーになった。 nginx やApacheでHTTPSを設定したら、エラーになった。再起動はうまくいく "\x16\x03\x01\x02" というリクエストが解釈できないエラー。 ==> access_log <== 192.168.11.1 - - [25/Mar/2022:18:26:23 +0900] …
nginx で http は http まま維持して、httpsはhttpsのままバックエンドサーバにリクエストを投げつけるとする。 cli =(http)=> nginx =(http)=> backend:80 cli =(https)=> nginx =(https)=> backend:443 ウェブを検索すると、大体の設定例は次のようになっ…
nginx →Apacheでhttps のプロキシ設定をしていて、動かないので、ちょっと頭を抱えた。 次のようにプロ棋士していたが ブラウザ--<ssl/http>--nginx(ssl/h2)--<http>-- apache ある日の更新で次のように変わった。 ブラウザ--<ssl/h2>--nginx(ssl/h2)--<http>--apache すると、curl などブ</http></ssl/h2></http></ssl/http>…
nginx でSSHの接続を転送することが出来ます。 nginx には ストリームをそのまま転送することが出来る機能があるので、TCP・IPのポートフォワードができて、ルーター的な動作が出来ます。 nginx.conf stream { upstream ssh { server 192.168.2.8:22; } serv…
443 で default_server を入れたら通信がおかしくなる件 nginx でドメインをキャッチオールして、別サーバーのnginx へ丸投げする、多段nginx の設定を書いていたら、80 だと動くんだけど、443 で動かない。 listen 443 ssl https default_server をつけると…
nginx で http header を上書き除去する。 nginx でアプリケーションへ reverse proxy してたんだけど、アプリケーション側にcontent-security-policy の設定が最新版のChromeと合わなかった。とくに blog/data add_header で csp を追記しようとしたけど、…
nginx をつかってブラウザにリファラをおもらししないように命令する 社内のファイルサーバーのリファラURLが漏れると恥ずい。いやまずい。 何がまずいかというとファイル名が漏れてしまったり、アクセス元のURLとして晒されたり、検索インデックスに追加さ…
apache のproxyPassReverseって便利だよね。 とくに静的ページを作るのに便利。記事公開するだけのSPAなんぞいらねーよね。ってとき便利 でもnginx で出来ない。→ 置換すればできるよ。 URIのディレクトリを修正する方法の例 プロキシリクエストの結果を書き…
certbot がワイルドカード対応ですって! Cerbot使ってますか?めっちゃ使いますよね。手軽なHTTPS通信には不可欠です。 なんと、CertBotがワイルドカード対応ですって。ツイートは2018-05-02だから半年前には対応してた模様。知らんかった。最近は情報密度…
nginx で サイトを認証する。 Basic認証だと不便なので、フォーム認証をする。 巷に「nginxでbasic認証してみた」の記事が溢れているけど。どう考えてもbasic認証(digest認証)よりHTTP認証(フォーム)のほうがいいと思うんですよね。nginxだけで片付くのに…
nginx のサイト毎の設定が面倒くさい。 サイトが追加されるたびに、ドメインとファイルを追加するのは面倒なので、ワイルドカードで設定したい。 Apacheだとワイルドカード的なことを割と面倒くさい感じで rewrite 組合せたり、virtualhost 設定をしたりだっ…
ディレクトリのインデックス機能をオシャレにする。 ファイルをネットワーク共有する一番手っ取り早い方法は、HTTPサーバーで共有することだと思いません? 認証を入れればアクセスログが残るし、どのファイルが何処にあるか解るし、Slackに貼って渡すのも便…
特定の拡張子をphpなどで処理する css や js だけじゃなく 画像などをphpで処理したい。Apacheだと addhandler / sethandler で出来るアレ。nginx でもやろうかなと。 画像のリクエストログやリサイズをWebサーバーでやってるとかったるいので、phpで処理し…
PHP_FLAGを使いたい。 apache の mod_php や apacheの fcgiなら簡単にできるんだけど、nginxだとfcgiでどうやって 初期設定を渡したら良いんだろうか。 こうすれば出来る。 fastcgi_param PHP_FLAG "display_errors=on \n display_startup_errors=on"; fastc…
nginx で Content-Typeを指定する。 すぐに皆が思いつきそうな設定例はこれ。わりと何処にでも書いてある。だけど、、、本当にコレがベターなの? location ~ \.mkv$ { default_type video/mp4; } types がある。 マニュアル読んでると types がった。 types…
nginx と php の連携をしてphp のシンタックスエラーを表示する php-fpm 側の設定をしてしまうと、サイトごとやファイルごとに設定できないので、困ってた。 location ~ \.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; include snippets/fastcgi-php…