MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
NginX- serverコンテキストのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
NginX- serverコンテキスト
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == serverコンテキストは、仮想サーバを定義するための基本的な構成要素である。<br> このコンテキストは、常にhttpコンテキスト内に配置され、1つのNginXサーバーで複数の仮想ホストを運用することを可能にする。<br> <br> 主要な機能として、特定のIPアドレスやポートでのリクエスト待ち受け、ドメイン名の設定、SSLの設定、静的ファイルの配信設定、プロキシ設定等がある。<br> <br> serverディレクティブの用途を以下に示す。<br> * ポート番号の指定 (listen) * サーバ名の設定 (server_name) * ドキュメントルートの指定 (root) * SSL / TLS設定 * ロケーション設定 * リダイレクト設定 <br> また、バーチャルホスティングにおいても、同一サーバ上で異なるドメインのWebサイトを運用することができる。<br> <br> 設定の継承関係について、serverコンテキスト内の設定は、より上位のhttpコンテキストからデフォルト値を継承する。<br> さらに、serverコンテキスト内のlocationコンテキストは、serverコンテキストの設定を継承する。<br> これにより、効率的で柔軟な設定管理が可能になる。<br> <br> セキュリティにおいては、SSL / TLS証明書の設定、アクセス制限、リダイレクトルールの設定等が可能であり、安全なWebサービスの提供に貢献する。<br> また、エラーページのカスタマイズやログの設定も行うことができる。<br> <br> パフォーマンスの最適化では、キャッシュ設定、バッファサイズの調整、接続数の制限等を設定することができるため、リソース管理が可能である。<br> <br><br> == listenディレクティブ == IPアドレスとポート番号を指定する。<br> 複数指定することもできる。<br> <br> IPv4 / IPv6、ポート、UNIXドメインソケットをサポートしている。<br> <br> <syntaxhighlight lang="nginx"> server { listen 80; listen 443 ssl; listen [::]:80; # ...略 } </syntaxhighlight> <br><br> == server_nameディレクティブ == サーバ名 (バーチャルホストの識別も可) を指定する。<br> <br> 完全修飾ドメイン名、ワイルドカード、正規表現をサポートしている。<br> <br> <syntaxhighlight lang="nginx"> server { # ...略 server_name example.com; # 正規表現で記述する場合 # 例: server_name *.example.com ~^www\d+\.example\.com$; } </syntaxhighlight> <br><br> == rootディレクティブ == ドキュメントルートを指定する。<br> これは、全てのリクエストに対する相対パスの基準点となる。<br> <br> <syntaxhighlight lang="nginx"> server { # ...略 root /var/www/html; } </syntaxhighlight> <br><br> == indexディレクティブ == デフォルトページを指定する。<br> 指定順に検索され、最初に見つかったファイルが使用される。<br> <br> これは、locationコンテキストでも設定することができる。<br> <br> <syntaxhighlight lang="nginx"> server { # ...略 index index.php index.html; } </syntaxhighlight> <br><br> == アクセス制御 == ==== 許可 ==== 特定のIPアドレス / 範囲からのアクセスを許可する。<br> <syntaxhighlight lang="nginx"> allow 10.0.0.0/8; </syntaxhighlight> <br> ==== 拒否 ==== 特定のIPアドレス / 範囲からのアクセスを禁止する。<br> <syntaxhighlight lang="nginx"> deny 192.168.1.0/24; </syntaxhighlight> <br> ==== ファイルアップロード等の制限 ==== クライアントリクエストボディの最大サイズを指定する。<br> <syntaxhighlight lang="nginx"> client_max_body_size 10M; # 最大10[MB]に制限する場合 </syntaxhighlight> <br><br> == ログ設定 == サーバ固有のログフォーマットを指定する。<br> serverコンテキストで設定することにより、特定の仮想ホストにのみ異なるログフォーマットを使用することができる。<br> <br> <syntaxhighlight lang="nginx"> # 以下の例では、custom_formatという名前のフォーマットを定義している # 一般的なアクセスログの形式を定義しており、IPアドレス、時刻、リクエスト内容、ステータスコード、ユーザエージェント等の情報を記録している server { log_format custom_format '$remote_addr - [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"'; access_log /var/log/nginx/custom_access.log custom_format; } </syntaxhighlight> <br> これは、httpコンテキストでも定義することが可能である。<br> その場合は、NginX全体の設定となる。(serverコンテキストで上書き可能)<br> <syntaxhighlight lang="nginx"> http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"'; access_log /var/log/nginx/access.log main; } </syntaxhighlight> <br> ==== アクセスログの保存先とフォーマットの指定 ==== <syntaxhighlight lang="nginx"> access_log /var/log/nginx/access.log main; </syntaxhighlight> <br> ==== エラーログの保存先とログレベルの指定 ==== <syntaxhighlight lang="nginx"> error_log /var/log/nginx/error.log warn; </syntaxhighlight> <br><br> == タイムアウト関連 == ==== client_body_timeoutディレクティブ ==== リクエストボディ受信のタイムアウトを指定する。<br> これは、クライアントからのデータ受信間隔を制限する。<br> <syntaxhighlight lang="nginx"> client_body_timeout 60s; </syntaxhighlight> <br> ==== client_header_timeoutディレクティブ ==== リクエストヘッダ受信のタイムアウトを指定する。<br> これは、ヘッダ受信の制限時間のことである。<br> <syntaxhighlight lang="nginx"> client_header_timeout 60s; </syntaxhighlight> <br> ==== keepalive_timeoutディレクティブ ==== Keep-Alive接続のタイムアウトを指定する。<br> これは、持続的接続の維持時間のことである。<br> <syntaxhighlight lang="nginx"> keepalive_timeout 75s; </syntaxhighlight> <br> ==== send_timeoutディレクティブ ==== レスポンス送信のタイムアウトを指定する。<br> これは、クライアントへの送信処理のタイムアウトのことである。<br> <syntaxhighlight lang="nginx"> send_timeout 60s; </syntaxhighlight> <br><br> == バッファ設定 == ==== client_body_buffer_sizeディレクティブ ==== リクエストボディのバッファサイズを指定する。<br> <syntaxhighlight lang="nginx"> client_body_buffer_size 128k; </syntaxhighlight> <br> ==== client_header_buffer_sizeディレクティブ ==== リクエストヘッダのバッファサイズを指定する。<br> <syntaxhighlight lang="nginx"> client_header_buffer_size 1k; </syntaxhighlight> <br> ==== large_client_header_buffersディレクティブ ==== 大きなヘッダ用のバッファを指定する。<br> <syntaxhighlight lang="nginx"> large_client_header_buffers 4 8k; </syntaxhighlight> <br><br> == SSL / TLS設定ディレクティブ == ==== ssl_certificateディレクティブ ==== SSL証明書ファイルのパスを指定する。<br> ssl_certificate /path/cert.pem; <br> ==== ssl_certificate_keyディレクティブ ==== 秘密鍵ファイルのパスを指定する。<br> <syntaxhighlight lang="nginx"> ssl_certificate_key /path/key.pem; </syntaxhighlight> <br> ==== ssl_protocolsディレクティブ ==== 使用するSSL / TLSプロトコルを指定する。<br> <syntaxhighlight lang="nginx"> ssl_protocols TLSv1.2 TLSv1.3; </syntaxhighlight> <br> ==== ssl_ciphersディレクティブ ==== 暗号化スイートを指定する。<br> <syntaxhighlight lang="nginx"> ssl_ciphers HIGH:!aNULL:!MD5; </syntaxhighlight> <br> ==== ssl_session_timeoutディレクティブ ==== SSLセッションのタイムアウトを指定する。<br> <syntaxhighlight lang="nginx"> ssl_session_timeout 1d; </syntaxhighlight> <br> ==== ssl_session_cacheディレクティブ ==== SSLセッションキャッシュを設定する。<br> <syntaxhighlight lang="nginx"> ssl_session_cache shared:SSL:50m; </syntaxhighlight> <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:Web]]
NginX- serverコンテキスト
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse