質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.39%
KUSANAGI

KUSANAGIとは、プライム・ストラテジー社が提供する高速化・最適化された仮想マシンイメージ。高いパフォーマンスと高度なセキュリティが特徴で、サーバーの立ち上げからカスタマイズすることなく、高速なWordPressを利用できます。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Q&A

解決済

4回答

7008閲覧

NginxでIP直打ちアクセスを活用したい

tesopgmh

総合スコア146

KUSANAGI

KUSANAGIとは、プライム・ストラテジー社が提供する高速化・最適化された仮想マシンイメージ。高いパフォーマンスと高度なセキュリティが特徴で、サーバーの立ち上げからカスタマイズすることなく、高速なWordPressを利用できます。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

0グッド

0クリップ

投稿2021/05/13 03:59

お世話になります

nginx version: nginx/1.17.7
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.1.1c 28 May 2019 (running with OpenSSL 1.1.1d 10 Sep 2019)
TLS SNI support enabled

NginxでIP直打ちのアクセスを「活用」したいのですが
IP直打ち「拒否」の記事は山ほど出てくるのですが、ドメインと同じに扱いたいという記事が見当たらず
質問させていただきます

まず、nginxはapacheとは違いhttpd.conf等で一括管理ではなく
ドメインごとにコンフィグファイルを分けるという認識です

/etc/nginx/conf.d/[ドメイン]_http.conf
/etc/nginx/conf.d/[ドメイン]_ssl.conf

今回はドメインではないので該当部分にサーバIPを記載しました

vi /etc/nginx/conf.d/[サーバIP]_http.conf

1 #======================================= 2 # [サーバIP] 3 #--------------------------------------- 4 5 server { 6 listen 80; 7 server_name [サーバIP]; 12 charset UTF-8; 13 client_max_body_size 16M; 14 root /home/test; 15 index index.php index.html index.htm; 16 }

これにて

sudo nginx -s reload

を行い、IPでアクセスしてみましたが期待するフォルダ「/home/test」ではなく
別のドメインで設定している階層が表示されてしまいました

普段使っているのがapacheなので勝手がわからず
IPアクセスを活用するにはどういう設定が正しいのでしょうか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukky1201

2021/05/13 05:24

server_name [サーバIP]; と IPでアクセスしてみました (http://IP/ とアクセスしてるであってますか?) のIPアドレスは同一値でしょうか。
tesopgmh

2021/05/13 05:49

はい!同一でございます!
yukky1201

2021/05/13 06:39

そうでしたら大丈夫です。 該当の設定ファイルにも誤りは見られませんので、そのほかに原因がありそうです。 他の設定ファイルにそのIPアドレスを記載したりしていないでしょうか。
guest

回答4

0

ベストアンサー

以下の構成を実験的に作りました。
この環境では、http://localhost および http://127.0.0.1 でアクセスした場合、期待する通りserver_nameで指定した設定のそれぞれのディレクトリのindex.htmlを参照できました。

[root@localhost conf.d]# [root@localhost conf.d]# pwd /etc/nginx/conf.d [root@localhost conf.d]# [root@localhost conf.d]# ls -l 合計 12 -rw-r--r--. 1 root root 170 5月 13 15:31 127.0.0.1.conf -rw-r--r--. 1 root root 1072 4月 21 01:07 default.conf.org -rw-r--r--. 1 root root 170 5月 13 15:31 localhost.conf [root@localhost conf.d]# [root@localhost conf.d]# cat 127.0.0.1.conf server { listen 80; server_name 127.0.0.1; location / { root /usr/share/nginx/html.127.0.0.1; index index.html index.htm; } } [root@localhost conf.d]# [root@localhost conf.d]# cat localhost.conf server { listen 80; server_name localhost; location / { root /usr/share/nginx/html.localhost; index index.html index.htm; } } [root@localhost conf.d]# [root@localhost conf.d]# ls -l /usr/share/nginx/html.127.0.0.1 合計 4 -rw-r--r--. 1 root root 71 5月 13 15:22 index.html [root@localhost conf.d]# [root@localhost conf.d]# cat /usr/share/nginx/html.127.0.0.1/index.html <!DOCTYPE html> <html> <head> </head> <body> 127.0.0.1 </body> </html> [root@localhost conf.d]# [root@localhost conf.d]# ls -l /usr/share/nginx/html.localhost/ 合計 4 -rw-r--r--. 1 root root 71 5月 13 15:22 index.html [root@localhost conf.d]# [root@localhost conf.d]# cat /usr/share/nginx/html.localhost/index.html <!DOCTYPE html> <html> <head> </head> <body> localhost </body> </html> [root@localhost conf.d]# [root@localhost conf.d]#

投稿2021/05/13 06:42

yukky1201

総合スコア2751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/05/13 07:51

この場合、 server_name 127.0.0.1; は「効いてない」です。 あってもなくても同じ動作をするはずですよ。
yukky1201

2021/05/13 09:28

効いてます [root@localhost ~]# [root@localhost ~]# curl http://localhost <!DOCTYPE html> <html> <head> </head> <body> localhost </body> </html> [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# curl http://127.0.0.1 <!DOCTYPE html> <html> <head> </head> <body> 127.0.0.1 </body> </html> [root@localhost ~]#
退会済みユーザー

退会済みユーザー

2021/05/13 10:42

ん? server_name 127.0.0.1; を消しても同じ挙動をしません? 検証してませんが、今回のケースはたまたま読み込み順によって 127.0.0.1.conf 側が「default_server」として機能しているだけのはずなのですが。
退会済みユーザー

退会済みユーザー

2021/05/16 22:44

こちら、改めて検証してみました。 結果だけ言うと「効いてない」という指摘は「誤った指摘」でした。大変申し訳ありません。 server_name 127.0.0.1; は効いています。 また、ドキュメントによる確認も取りました。 http://nginx.org/en/docs/http/server_names.html > If someone makes a request using an IP address instead of a server name, the “Host” request header field will contain the IP address and the request can be handled using the IP address as the server name: 私は実運用で ip 直打ちアクセスを許容していないので、運用上の懸念を洗い出せていませんが、私の回答の「Mixed name-based and IP-based virtual servers」の延長線上にある設定だと「ip によるアクセスをルーティングする」という意図を明示的に記述できないので、こちらの設定の方が分かりやすいと思います。
tesopgmh

2021/05/17 01:27

ありがとうございます なぜかは分からないのですがサーバを初期化して 設定をし直したら期待する結果になることが出来ました ただPHPが動かないのですがそれはまた別の問題だと思いますので 調べてみたいと思います 貴重なお時間を使ってわざわざ検証までして頂いて心より感謝いたします ありがとうございました
guest

0

###この回答は身銭を切って実際に3年半稼働させてるVPSでの実体験に基づくものです
VPS+nginx+KUSANAGIで構築する場合、特別に何かしなくても初期設定のままでIPでのアクセスおよびWPサイトの運用が可能です。複数のWPサイトを立ち上げても問題は起きてません。同じサーバーにECサイトもありますがこちらも問題ありませんでした。※WP以外でも大丈夫だったということです。

###公式を軽視しているとのご指摘をいただきましたが…
nginxの初期ファイルのままの記述ですので、開発者が記述していると想定いたします。
開発者が用意してくれているファイルをそのまま使うことがなぜ公式軽視になるのか理解できません。
むしろリスペクトしてますよ。

###KUSANAGIのprovisionにて例:_aaaとすると優先順位が変わるとのご指摘をいただきましたが…
KUSANAGIのprovisionでWPサイトを構築する際はドメイン名(例:teratail)で作成すると、フォルダが自動作成される際に/teratailという名称が付くため分かり易く、複数サイトを作成しても管理し易いです。
尚、ドメイン名にアンダースコアを含めることは非推奨です。
念の為確認しましたがドメイン自体を取得できませんでした。※使えない文字があると出る

アンダースコアを先頭にしてプロファイルを構成しちゃうような人は、余程の変わり者かそれなりに知識がある人だと思いますので、やはりこの回答の対象外となります。そこまで面倒見ません。
あくまでも常識の範囲内の方を対象としています。お疲れさまでした。
※最終追記2021/05/19 AM 9:02追記分迄、さすがに不毛すぎるためこれ以上は面倒見切れません。

追記 「マッチしないから既定値を返す。それを利用したコメントみたいなもん」
こう解釈してるんだけどサーバーサイド専門の人はこれでハマったことがあるのかな?
もしあるなら実例を教えて欲しい。特に困ったことが無いから否定される理由が腑に落ちない。
本当に問題があるのであればレンタルサーバーを運営している会社に修正依頼する。通るか知らんけど。
※僕がここで使った『問題』とは「セキュリティホール」を指してます。

※追記の追記:最低限rootのSSH接続だけでも不可にしておきましょう。
※初期状態のままだとクラッカーホイホイになります。

以下 難しいことを考えたくない人だけ参考にしていただければと思います。※セキュリティは別だよ!


何かの足しになるかどうかわからないけども、記しておきますね。
以下IP叩くとアクセスできるレンタルサーバー(VPS)のnginxのhttp.confです。
※etc/nginx/conf.dの中にあります。

conf

1server { 2 listen 80; 3 server_name default_server; 4 5 location / { 6 root /usr/share/nginx/html; 7 index index.html index.htm; 8 } 9 10  50x系を省略 11  アクセス許可設定も省略 12 13} 14

以下蛇足です。
IP直打ち禁止してないので、僕の借りてるVPSはIP直打ちするとnginxのデフォルトhtmlが表示されます。
※IPでアクセスしてくる変わり者へのメッセージは載せてますが…
※あぁ、だから外国からの問い合わせが多いのかぁ…謎が解けたっ
※英語で挨拶文と手持ちサイトへの案内を載せてるのです(一個リンク切れだった)

投稿2021/05/14 07:55

編集2021/05/19 00:11
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/05/15 00:30

これもおかしい。。。 > with the default_server parameter in the listen directive なんか間違った情報が流行ってるんですかね?
退会済みユーザー

退会済みユーザー

2021/05/15 03:26

すみません、おかしいと言われても良く分からないです。 質問者さんの要件を満たす構成で僕は実際にサーバーを運用してます。 実際に動いてるものを「おかしい。情報が間違ってる」と言われても困ります。
退会済みユーザー

退会済みユーザー

2021/05/15 20:18 編集

あー引用元が抜けてましたね^^; 私の回答にも記述しましたが、公式のこちらからの引用です。 http://nginx.org/en/docs/http/request_processing.html 実際に要件を満たすように動いて見えますが、以下の挙動によるものです。 >In this configuration nginx tests only the request’s header field “Host” to determine which server the request should be routed to. If its value does not match any server name, or the request does not contain this header field at all, then nginx will route the request to the default server for this port. In the configuration above, the default server is the first one — which is nginx’s standard default behaviour. server_name default_server; は意図した方向性では効いておらず、勘違いを誘発します。 *.conf の読み込み順や他の設定により、default_server が移動するので、サンプル config として適当ではありません。
退会済みユーザー

退会済みユーザー

2021/05/16 02:47

te2ji様 ご丁寧にありがとうございます。 大変申し訳ないのですが、前回と同じく質問者様へ直接教えてあげていただけると非常に助かります。 「紛れが起きない適当なサンプル」も添えていただけると尚可でございます。
退会済みユーザー

退会済みユーザー

2021/05/16 04:34

> 質問者様へ直接教えてあげていただけると非常に助かります。 「紛れが起きない適当なサンプル」も添えていただけると尚可でございます。 回答済みです。 というか、この回答の問題点のリンク先も同じなのですが確認されなかったのでしょうか?
退会済みユーザー

退会済みユーザー

2021/05/16 06:41

te2ji様 英語圏のリンクのみを貼って、 「説明終わった。わかるだろ?」と言われても大抵の人は分からないんですよ。 以前も申し上げましたが、層が違い過ぎます。 お互いに疲れるだけなのでやめましょう。 ということで、辞去します。
退会済みユーザー

退会済みユーザー

2021/05/16 07:23

この回答に問題があることを指摘したかっただけなので、amiya-se さんの理解は求めませんが、ずいぶん失礼な方ですね^^; 問題個所を修正する気がないようなので低評価しておきます。 ナレッジ共有サイトなので、個人的には修正をしてほしいですけど、仕方ないですね。。。
退会済みユーザー

退会済みユーザー

2021/05/16 09:59

デフォルトの設定のままIP直打ちでアクセスできてるよという情報のどこが問題なのか? server_name default_server;←これが間違いと言いたいのだろうけど、デフォルトなんですよ。 レンタルしたVPSの初期設定のままなんです。 KUSANAGIで複数サイト立ち上げてますが設定は上書きされてません。 難しいことをしなくて実現できるんだよという情報は問題ですか? 問題が起きるというのであれば机上の空論ではなく実体験に基づいて情報をご提示ください。 強制的に上書きするようなプログラムがあるならそれを提示してもらった方が万倍有益ですよ。 英語のドキュメントは読みましたし、嫁に呆れられながらも貴殿の相手をしております。 礼を失すると言われるほど失礼なことはしてません。 以前出した結論を忘れる方が失礼でしょう。お互いに分かり合えないと。 前回も今回もいただく情報は僕にとってはほぼ無駄なんです。必要な時に自分で調べるから。 だから僕ではなくて質問者さんへ直接教えてあげて欲しいとお願いしています。 お互いに無駄な時間を使うのは止めましょう。
退会済みユーザー

退会済みユーザー

2021/05/16 22:50

> デフォルトの設定のままIP直打ちでアクセスできてるよという情報のどこが問題なのか? すでに説明しましたが、 server_name default_server; は意図した方向性では効いておらず、勘違いを誘発します。 これは、default_server という “Host” request header を指し示す記述です。 設定変更を手動で行う際の誤解を生みます。
退会済みユーザー

退会済みユーザー

2021/05/16 23:28

マッチしない場合はデフォルトを返すと規定されているだから極端な話、 server_name hoge;でも同じ結果が返るはずです。 僕がレンタルしているVPSのnginxのcond.fの初期ファイルのままなんですよ。 server_name は必須ではないとご自身でもおっしゃられてるでしょう? どうしても気になるならGMOに凸ってください。
tesopgmh

2021/05/17 01:22

amiya-se様、te2ji様 ありがとうございます amiya-se様は初心者向けに実例を出してあげたらどうかというご意見 te2ji様は実例は環境によって変わるので公式ドキュメントのほうが有用であろうというご意見 私が「初心者」だったら「amiya-se様」の意見のほうが助かります 私が「中級者」だったら「te2ji様」の意見のほうが助かります 以上から、私がどちらに属するかの情報が質問文にないため 両者のご意見はどちらも正しいと思います 分からない人に無償で教えてくれるお二方は日本のIT促進の貴重な存在です お時間を割いていただきありがとうございます
退会済みユーザー

退会済みユーザー

2021/05/17 04:44

tesopgmh様 綺麗にまとめていただいてありがとうございます。 ちょっと感動しました。場内乱闘してすみません。 te2ji様が「私は実運用で ip 直打ちアクセスを許容していないので」とおっしゃられてますが、 許容していない理由を直接教えていただいた方が良いかもです。 以下チラシ裏です。 IPでのアクセスを許容している=>ほぼ初期設定の可能性が高い=>クラッキングしやすそう みたいな感じで海外からの不正アクセスおよびデータ改ざんのリスクが高くなるので、 rootのSSH接続を不可にする等のセキュリティ対策が必要になるとかなんとか。 余談ですが同じ会社のサーバーでも初心者向けのものはIPでのアクセスが禁止されていました。
K_3578

2021/05/17 05:34 編集

すいません、別にamiya-seさんの回答を支持する訳では無いですが、 質問者さん自身が少なくともamiya-seさんの回答を正しいものとコメントされているため、 -5の評価はあまりに不当だと感じましたので打ち消しとして高評価しています。 te2jiさん以外は低評価の理由を明かされていないので理由をコメントで残してくれると 有難いとは思います。
退会済みユーザー

退会済みユーザー

2021/05/17 06:12

@K_3578様 毎度お騒がせしてすみません。 前向きなご意見をありがとうございます。 server_name default_server;おそらくこの記述が、 display: black;と似たような感覚を呼び起こすんじゃないかと。 すごくもやっとするぞ、みたいな。
退会済みユーザー

退会済みユーザー

2021/05/17 11:27

なんか、だれも私のコメント、まともに読んでないんですね^^; 意味不明なループで疲れます。 server_name default_server; は default_server という “Host” request header を指し示す記述です。 default_server の名前が解決できるのであれば、 http://default_server のアクセスがあった際に有効になる設定です。 (念のため、default_server が特別扱いされ、他の server_name と挙動に差異があるかも検証しましたが、特に変わった動きはありませんでした。) 明示的に default_server を設定したいのであれば、 以下の引用の通り listen directive に記述する必要があります。 > with the default_server parameter in the listen directive > listenディレクティブのdefault_serverパラメーターを使用 また、以下のコメントですが挙動を正確に理解していないと思います。 > マッチしない場合はデフォルトを返すと規定されているだから極端な話、 server_name hoge;でも同じ結果が返るはずです。 こちらもコメント済みですが、default_server は、以下のルールにより決定されます。 > In this configuration nginx tests only the request’s header field “Host” to determine which server the request should be routed to. If its value does not match any server name, or the request does not contain this header field at all, then nginx will route the request to the default server for this port. In the configuration above, the default server is the first one — which is nginx’s standard default behaviour. > この構成では、nginxはリクエストのヘッダーフィールド「Host」のみをテストして、リクエストをルーティングするサーバーを決定します。その値がどのサーバー名とも一致しない場合、またはリクエストにこのヘッダーフィールドがまったく含まれていない場合、nginxはリクエストをこのポートのデフォルトサーバーにルーティングします。上記の構成では、デフォルトサーバーが最初のサーバーです。これはnginxの標準のデフォルト動作です。 上記の挙動により、*.conf の読み込み順や他の設定により、default_server が移動するので、本回答の設定は、手動で設定変更を行う際に非常に不安定なモノとなります。 (念のため、複数の設定ファイルを用意し、ファイル名を変更したところ、default_server が移動することを確認しました。) nginx は、設定ファイルを分割管理することも多いので、個人的には default_server は明記しておくことをオススメします。 > te2ji様が「私は実運用で ip 直打ちアクセスを許容していないので」とおっしゃられてますが、 許容していない理由を直接教えていただいた方が良いかもです。 基本的に私の管理しているサーバは https での通信が前提となるので、ip 直打ちではまともにレスポンスできないためです。 最後になりますが、インフラ/ミドルウェアの設定は、最低限、公式ドキュメントが読めるようになってから実施してほしいいです。 読めないまま設定するのは危なすぎます。。。
退会済みユーザー

退会済みユーザー

2021/05/18 05:20

自分の解釈が間違ってるのかと思い念のために検証しましたが、 server_name hoge;に変えてもIPでのアクセスが出来ました。 メインのサイトへのアクセスも可能でした。 server_name default_server;の記述はnginxの開発者からのコメント程度のお話だと再認識しましたよ。 server_nameに意味の無い文字を入れても無効となり、nginxフォルダ内のhtmlが表示されます。 分からない人が弄らなくても良いように回答を載せているんです。 「VPS借りる、KUSANAGIでWPサイト作る、IPもアクセス可能でWPも表示される」 難しいことを考えなくても初期設定のままで本質問の要件を満たせますから。※セキュリティは別口 分からない奴は弄るなと言いながら「手動で弄った場合に意図しない挙動になる」とか… 分かる奴が明確に狙って環境壊しに行けば壊れるのは当然でしょ。 わざわざhttp://default_serverを作る素人とか考えなくてもいい。絶対素人ちゃうし。 不毛なループになる原因がどちらにあるか第三者から見れば明らかだと思うんですが、 まぁ、お疲れさまでした。別の回答で絡まれてももう反応ませんよ。さすがに無駄過ぎる。 以下蛇足です。 IP直打ちを許容していない理由をお答えいただいてありがたくは思うのですが、 「httpsでの通信を前提としている」ということは「セキュリティの問題」でしょう? そういうところを端折るから相手が理解に困るんですよ。 何度もお伝えしてますが層が違うんです。伝わる言葉を選んでみては如何でしょうか。 主様、K様失礼しました。
退会済みユーザー

退会済みユーザー

2021/05/18 08:11

もう同じ返信を重ねるのは面倒なので、公式読んで理解出来たらコメントしてください。 この回答の問題点: 明示的に default_server を設定したいのであれば、 listen directive に記述してください。 現状の設定は、別の意味/用途を持っています。 想定される問題: この設定だと、*.conf の読み込み順や他の設定により、default_server が移動する可能性があり、手動で設定変更を行う際に非常に不安定なモノとなります。
退会済みユーザー

退会済みユーザー

2021/05/18 09:10

VPS+nginx+KUSANAGIの環境下において、 貴殿が懸念されている問題は起きていないと何度伝えればご理解いただけますでしょうか。 複数サイトを同じサーバーで構築して、*.confの数は増えていますがdefault_serverは移動してません。 そもそもポート80へのアクセスをある1つのserver_nameへ強制的に繋げるのに、 環境構築する際に設定変更の警告すら出ないプログラムなんて無いでしょう? 知らない間に勝手に接続設定が変えられてるとかウイルスレベルの脅威ですよ? 確認があるのに気づかなかったのであればそれは本人の注意不足だし。 というか、そんなに気になるならnginxの開発陣に苦情いれたらどうですか? 仕様を逆手に取ったハックなんて他にもあるんだし、 開発者からのコメントだってどんなプログラムにでも入ってるでしょ。 そもそも「初期の設定ファイルのままで弄ってない」と伝えてるのに、 なぜここまで粘着されないといけないのか。 机上の空論ではなく、実体験に基づき、現在進行形で運用していて、3年半経過した今もアクセス可能。 回答している現時点において『誤った情報ではない』と記しておきます。
退会済みユーザー

退会済みユーザー

2021/05/18 09:33

基礎の体系的な知識が圧倒的に不足しています。 *体験していない事象を予測/想定/対処するためには、体系的な知識が必要です。 QA サイトは体系的な知識を聞くには適切な場所ではないので、書籍や公式サイトで体系的な知識を身に付けてください。 同じ返信を重ねるのは面倒なので、Web サーバ/nginx あたりの体系的な知識を身に付けたらコメントしてください。
退会済みユーザー

退会済みユーザー

2021/05/18 10:35

俺の知識が完全じゃないということは認めるが、 体験した事象であり、想定通り稼働しているし今も稼働中。 経験則に基づく知見を否定してもらいたくない。 設定弄ってどうすりゃ壊れるかとかテストもしてる。 トラブルシューティングは腐るほどやった。 サーバートラブルの解決を依頼してくれるクライアントもいる。 ドキュメントだけ読んで「すべて経験した」と勘違いしてる貴方に批評されたくない。 俺は予測不可能な事象ではなくて動作確認済みの話をしてる。 構築した環境において現段階で問題は起きてない。 「?」がついてたら『質問』と決まってるわけじゃないよ。日本語は難しいね。 俺から貴方に質問は無い。聞いても無駄だと「知ってる」から。 ナレッジ共有サイトだというから「具体的な脅威について提示してくれ」とボールを投げてるのに、 いつまで経っても返ってこないとか…無駄でしょ、このやり取り。もうやめようぜ。ってことで解散!
退会済みユーザー

退会済みユーザー

2021/05/18 11:10

> 設定弄ってどうすりゃ壊れるかとかテストもしてる。 テストケースに意味を持たせないとただの無駄なテストです。 意味のあるテストは、仕様を理解することで設計されます。 体系的な学習をしてください。 > ドキュメントだけ読んで「すべて経験した」と勘違いしてる貴方に批評されたくない。 すでにコメントしてますが、「複数の設定ファイルを用意し、ファイル名を変更したところ、default_server が移動すること」を確認しています。 これは、読み込み順で問題が発生し得ることの確認です。 amiya-se さんは何をテストしたのですか? 本回答の設定で、明示的に default_server を設定したいのであれば、 listen directive に記述してください。回答の設定は、別の意味/用途を持っているため、サンプルとして適当な設定ではありません。
退会済みユーザー

退会済みユーザー

2021/05/18 11:56

恣意的なファイルを手作業で用意すりゃ壊れるのは当たり前だと既に答えてるし、 KUSANAGI通さないとそれこそ意味がない。だから机上の空論だと言ってる。 あんた自分以外の人間がすべて自分より劣ってると思ってるだろ? しつこい、いい加減にしてくれ。
退会済みユーザー

退会済みユーザー

2021/05/18 12:11 編集

KUSANAGI の使用方法として、手動で nginx の設定を触ることは十分現実的な範囲の想定です。 もう何度書いたかカウントする気にもなりませんが、手動で設定変更を行う際にこの回答の設定は非常に不安定なモノとなります。 > しつこい、いい加減にしてくれ。 だから、ちゃんと体系的な学習の後にコメントしようといってるじゃないですか^^; 個人の経験できる範囲なんてごく限定的なんですから。。。
退会済みユーザー

退会済みユーザー

2021/05/18 12:46

>もう何度書いたかカウントする気にもなりませんが、手動で設定変更を行う際にこの回答の設定は非常に不安定なモノとなります。 くどい。 数える気もないが弄れない奴が簡単に問題解決するための回答だとさんざん言ってる。 誰もがあんたみたいに手動で弄繰り回すわけじゃないんだよ。 KUSANAGI通さずに設定弄るとデータの整合性が取れなくなって不具合が出るケースがある。 それに俺自身は設定弄ることもあるけど、それでもアクセス不可にはなってない。 正直めんどくさい。構わないでくれ。かなり迷惑してる。粘着すんな。 俺はあんたの助言は要らん。必要な時に自分で調べる。今後一切俺に絡むな。 教えて欲しいというやつに教えてやってくれ。コメント欄荒らすな!迷惑だ、うざい!以上
退会済みユーザー

退会済みユーザー

2021/05/18 13:09

> 俺はあんたの助言は要らん。必要な時に自分で調べる。今後一切俺に絡むな。 terataiil がナレッジを共有するためのサイトである以上、問題のある回答に突っ込みが入るのはしょうがないこととあきらめてください。 別に私も amiya-se さんに理解してほしくてコメントしているわけではありません。 稼働実績を根拠に「初学者向けには適切な回答かも」と思われると問題なので、それを否定しているのが現状です。 例えばですが、10 年 SQL インジェクションが行われなかったサイトがあったとして、内部的には文字列連結で $POST を SQL に組み込んでいるようなコードが「実績があるから初学者向けの回答です」と提示された場合、amiya-se さんは放置しますか? もちろん、指摘にかかる時間の問題やそもそも自身が閲覧したかどうかにもよるでしょうけど、私は手の届く範囲で指摘するようにしています。 何度も繰り返しますが、この回答は問題を抱えています。 また、エンジニア向けのサイトで公式を軽視するというのも危険なコメントです。 エンジニアが情報交換をする前提のサイトで行うコメントではありません。 初学者に伝える行為として、絶対にやってはいけない行為の一つだと思っているので、コメントでずっと同じことを繰り返し指摘しています。 私の指摘がうざいのであれば、指摘の入らないような回答をしてください。
退会済みユーザー

退会済みユーザー

2021/05/18 13:20

SQLインジェクションを例えに出すなら、 この回答がセキュリティ的に問題があると証明してからにしてもらっていいですか。 同列に語るのはおかしいですよ。 「手動で設定する際に問題がある」とか「紛らわしいから」とか、 手動で設定しないような層に向けての回答だと何度も記載しているからご指摘は不適当ですよ。 それから何か言いたいことがあるなら、nginxの開発陣とGMOにどうぞ。 初期設定のファイルのままなんだから世の中の大半のサイトに問題があるということになるっす。 こんなところで嫌がらせせずに、もっと建設的なことした方が良いですよ。 間違ってる回答は腐るほどあるにどうして、間違ってない回答に拘るのか。理解しかねますわ。
退会済みユーザー

退会済みユーザー

2021/05/18 21:06

> 「手動で設定する際に問題がある」とか「紛らわしいから」とか、 手動で設定しないような層に向けての回答だと何度も記載しているからご指摘は不適当ですよ。 仕様が不明なのであまり指摘したくないのですが、kusanagi コマンドを使用した場合でも、default_server の切り替わりを確認しています。 例)kusanagi provision --WordPress _aaa 読み込み順の問題だと思うので、CentOS 上の kusanagi であれば多分同じ挙動が確認できると思います。 > 間違ってる回答は腐るほどあるにどうして、間違ってない回答に拘るのか。理解しかねますわ。 理解は求めませんが、この回答に問題があるから指摘しています。
退会済みユーザー

退会済みユーザー

2021/05/18 23:46

>仕様が不明なのであまり指摘したくないのですが、kusanagi コマンドを使用した場合でも、default_server の切り替わりを確認しています。 例)kusanagi provision --WordPress _aaa あー、ありがとうございます。 やっと終わりますね。 ヘッダーのアンダースコア問題がある為、推奨されていない文字になるそうです。 アンダースコアを先頭に付けるドメイン名は取得できないため、ご指摘の懸念は机上の空論となります。 KUSANAGIのprovisionはドメイン名を入れて作成すると分かりやすいため、でたらめな文字列を入れたりアンダースコアを付ける意味がありません。 目的があってアンダースコアを付けて作成するような人は初心者とは言いませんので、ご指摘の点は完全に的外れです。
退会済みユーザー

退会済みユーザー

2021/05/19 00:00

> KUSANAGIのprovisionはドメイン名を入れて作成すると分かりやすいため、でたらめな文字列を入れたりアンダースコアを付ける意味がありません。 こんな勝手ルールがこの回答の前提なのですか? 公式ドキュメントでもそのような説明はありません。 https://kusanagi.tokyo/document/kusanagi-provision/
Zuishin

2021/05/19 00:11

初心者初心者言うのが的外れにしか見えない。 どこにもそんな条件はないのになぜ初心者が管理者である前提なのか。
Zuishin

2021/05/19 00:17 編集

アンダースコア入りの provision にすると三年半稼働できないということなんだよね? 三年半稼働できる可能性があった場合どうなるの?
guest

0

公式に記述があります。
Mixed name-based and IP-based virtual servers

server_name は必須では無いようです。
nginx without server_name and using only static ip address?

追記

うーん。この回答はあまりよくないですね^^;

ip アドレスでのアクセスを default_server で捌く回答なのですけど、場合によっては当然 ip アドレス以外も default_server に流れてしまいます。

で、私の回答の延長線では、それは回避できません。

やはり yukky1201 さんの回答(というか、tesopgmh さんが動かないといった質問の設定)のように、server_name に ip アドレスを記述してあげるのが挙動制御が正確にできそうです。

投稿2021/05/13 04:39

編集2021/05/19 08:49
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/05/17 05:33 編集

追記 質問者さんに伝わったようなので取り下げておきます。 追記ここまで。 「この回答に適切なサンプルを加えてください」 というお願いは理解できないものでしょうか? 英語のドキュメントのURLだけ貼って回答した気になるのは個人の自由ですが、 自分はコードを貼らずに他人にだけ理解と修正を求めるのは如何なものかと。 そういう行為は失礼とは言わないんですかね? というか以前さんざん話をして意思の疎通ができないことが確定しているのだからスルーして下さいよ。 オブラートに包まずに「迷惑だ」と伝えたはずです。 なお英語が不得意な方には分かりにくい回答だと感じましたので低評価を付けておきます。
退会済みユーザー

退会済みユーザー

2021/05/16 22:46

サンプルはリンク先を確認してください。 説明とともに設定例が載っています。 ただ、本件だと yukky1201 さんの設定の方が、メンテナンス性が良さそうです。
tesopgmh

2021/05/17 01:23

ありがとうございます!!
guest

0

まず、nginxはapacheとは違いhttpd.conf等で一括管理ではなく

ドメインごとにコンフィグファイルを分けるという認識です

この認識自体がおかしいかなと思います。nginxが直接読み込む大本の設定ファイルが存在して、それがconf.d以下の設定を呼び出しています。

全体のサーバ設定がその大本の側にある場合、conf.dに書いてもうまく適用されないことが考えられます。

投稿2021/05/13 04:14

maisumakun

総合スコア145786

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tesopgmh

2021/05/13 04:37

/etc/nginx/nginx.conf にはapacheのバーチャルホストと同義だと認識している nginxの「server root」はなく include /etc/nginx/conf.d/*.conf; と書かれていました 実際に /etc/nginx/conf.d/[ドメイン]_http.conf /etc/nginx/conf.d/[ドメイン]_ssl.conf に書かれている内容は[ドメイン]にちゃんと適用されているようです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.39%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問