- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2017-05-02T09:04:12+09:00","default:admin","admin")
#author("2021-10-07T01:56:15+00:00","default:admin","admin")
-[[公式サイト:http://nginx.org]]
-[[容易にWebサービスを高速化できるNginxを使いこなすための秘訣とは(1/3):http://www.atmarkit.co.jp/ait/articles/1603/17/news022.html]]
-[[Nginx設定のまとめ:http://qiita.com/syou007/items/3e2d410bbe65a364b603]]
*環境構築 [#q94beb5a]
**Windows [#w2c6e0b0]
-[[nginx > (windows) nginxのインストールとサービス常駐:https://qiita.com/sugasaki/items/83542f5614bc54a9475f]]
*リバースプロキシ [#x5a83289]
-[[Nginx を Node.js のリバースプロキシとして使う:http://dotnsf.blog.jp/archives/1058466329.html]]
-[[nginxのリバースプロキシ設定:http://tech.chocolatoon.com/entry/2015/09/17/163434]]
-[[[雑記] nginx の proxy_set_header の扱い:https://blog.kteru.net/nginx-proxy-set-header/]]
**設定項目 [#dc0239a5]
-[[nginx の proxy まわりのメモ:http://memo.willnet.in/entry/2013/05/07/135529]]
proxy_redirect off;
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-proxy_redirect
--レスポンスヘッダのうち、Location、Refresh を書き換えるかどうか
--設定値:off / default / 指定(例:proxy_redirect http://localhost:8000/two/ http://frontend/one/;)
---off ... 書き換えしない
---default ... proxy_pass の値が使われる
-proxy_pass
--プロキシ先のサーバのURI を指定
--設定例:proxy_pass http://localhost:8080/;
--Host ヘッダがリクエストに含まれていなかったら proxy_pass の値が使われるので、ちゃんと送りたければ「proxy_set_header Host $host」を設定すること
-proxy_set_header Host
--Host ヘッダを指定
--設定例:proxy_set_header Host $host
-proxy_set_header X-Real-IP
--アクセス元のIP
-proxy_set_header X-Forwarded-Host
--オリジナルのホスト名。クライアントが Host リクエストヘッダで渡す。
-proxy_set_header X-Forwarded-Server
--プロキシサーバのホスト名
-proxy_set_header X-Forwarded-For
--クライアントの IP アドレス
*nginx-proxy [#qe234204]
-[[Docker × Nginx × Let'sEncrypt | 俺の考えた最強のサーバー構築方法:https://hackerslog.net/post/labs/docker-letsencrypt-on-docker-and-nginx/]]
-[[VirtualHostをお手軽に実現できるDockerコンテナnginx-proxyの起動方法:https://suin.io/531]]
-[[nginx-proxyによるマルチドメイン環境:http://qiita.com/sigelinde/items/95c154dc807a4bbc9cf0]]
-[[Dockerを使って1サーバで複数Webサービスを運用するためのマイベストプラクティス:http://qiita.com/miyasakura_/items/5cd3b05aa9c5e4f3f4be]]
-[[Dockerコンテナへのアクセスをドメインごとに変更する「nginx-proxy」レビュー:http://knowledge.sakura.ad.jp/tech/3142/]]
-[[Dockerでnginxを使ったマルチホスト〜コンテンツ別にコンテナ振り分け〜:https://academy.gmocloud.com/advance/20160808/3415]]
-[[Dockerのnginx-proxyとDocker Compose:http://blog.masuqat.net/2016/09/06/docker-nginx-proxy-and-docker-compose/]]
-nginx-proxy
--複数のサービスはそれぞれのコンテナで動いているので、各リクエストを振り分けるリバースプロキシが必要
--nginx-proxyを使うと立ち上がっているDockerコンテナに自動的に振り分けを行うことができる
**利用例 [#j3f63383]
# docker run -d -p 8080:80 -v /var/run/docker.sock:/tmp/docker.sock:ro docker.io/jwilder/nginx-proxy
-localhost:8080 <=> nginx-proxy:80