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

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

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

IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

nginx

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

Q&A

解決済

ipv6アドレスでnginxが落ちます

UsuallyTired
UsuallyTired

総合スコア21

IPv6

IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

nginx

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

1回答

0グッド

0クリップ

661閲覧

投稿2022/03/24 01:05

編集2022/03/24 07:29

お世話になっております。

一時、ipv6でweb表示はされますが、nginxの自動起動設定をしても、2日ぐらい経つとnginxが落ちます。

・初めは、カーネルとシステムが80ポートを使うからnginxが落ちると思い、nginxのポートを8080に変更して再度、sudo update-rc.d nginx defaultsで自動起動設定をしても、やはりnginxが落ちます
・error.logは何も吐いてくれず、access.logではちゃんとipv6アドレスで200返って来てます
・Windowsのファイアーウォールとルーターのファイアーウォールにつきまして、ファイアーウォールを無効にするのではなく、セキュリティの為、ファイアーウォールを有効にして、必要なポートは空けております。
・名前解決は出来ております
・原因につきまして、現在も自分でも調べておりますが、どこに原因があるのか特定出来ておりませんので、コードは掲載致しておりませんが、必要な情報は、言って頂けましたら掲載致します。
・letsencryptで証明書も取得予定ですので、Windows側のWorld Wide Web発行サービスをOFFにして、ポート80でやり直すつもりですが、nginxが落ちる問題を解決しなければ先に進まない為、悩んでおります。

お解りでおられましたら、アドバイスを宜しくお願い申し上げます。


/etc/hostsと/etc/resolv.confファイルの確認

hostsファイルでは、127.0.0.1とipv6アドレス、resolv.confでもipv6と8.8.8.8を登録しておりますが、ipv4アドレスは登録致しておりません。そして、nginxのnginx.confでサーバー設定ではipv6only=on;にしており、ipv6でのみ繋がるように設定致しております。そして、以前、8.8.8.8ではなく2001:4860:4860::8888をhostsやresolv.confに登録致しましたが、繋がりませんでした。


hostsファイルで、ipv6アドレスの右側に、ドメインが抜けていた為、ドメイン名の追加を致しました。
そして再度、resolv.confに8.8.8.8をコメントアウトして、2001:4860:4860::8888を追記致しまして、とりあえずはnginxは起動しましたが、nginxが落ちる原因としまして、nginx startは出来ているものの、自動起動スクリプトが全く役に立っていないのではないかと思い、/etc/init.d/nginxファイル(読み取り権限・実行権限有り)のコードの確認も致しましたが、ipv6に関わる問題がコードにあるのかどうか、解りませんでした。

またnginxが落ちる可能性がございますので、未解決のまま、もし、アドバイスがございましたら、引き続き、宜しくお願い申し上げます。


正確な情報かどうかは解りませんが、init.dとupdate-rc.dにつきましてmanpagesを調べておりますと、init.dが使われなくなるよ、と。そして、wslの場合は、systemctlのpid1問題はgenieでとりあえずは解決しているかもしれませんが、ipv6普及が進まない問題、去年の秋頃にletsencryptの証明書有効期限切れ問題、http問題、世の中大変ですが、課題も山積みですよね。とりあえず自分で調べます、という事で自己解決させて頂きます。
Init.dのランレベルにつきましても調べておりましたが、init.dが使われなくなるなら、見通しのある手段を模索します。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

自己解決

多分、こちらの記事でいけます。

「CentOS7でnginxの自動再起動設定をする(nginx.serviceの修正)」

解決方法2点

・まず、wsl2ではipv6未対応の件につきまして。→wslのプレビュー版で、.wslconfigの設定が追加され、ipv6=trueの設定が新しく加わる予定らしく、使えるのはwindows11proからだと思いますが、サポート外のwindows11の使用につきまして。ドライバーさえ用意出来るなら、自己責任の範囲で、まずは試してみても良いと思います。サポート対象、というのは、MicroSoft様でテスト・検証して頂いて、保証されたサーバーという事ですので、自分でやれる範囲で、自己責任で構わないなら、私はやってみようと思います。

・今現在のところ、自分はwsl2ではなく、ipv6を使う為にwsl(1)を使っておりますが、systemdを使う為に、genieが必要ですが、genieはwsl2しかサポートされていないらしいですが、gitの記事で、wsl(1)では、「きちんと」動作しないかもだよ、と書かれており、実際にwsl(1)で試した方々が複数おられますので、wslですが、genieでsystemdを使い(pid1問題解決して)、ご紹介致しました記事の通り、[service]Restart=always、これをやれば、本当にいけると思います。docker-composeで、nginxの設定でrestart=alwaysと同様の設定があったと思います。その際は、いつもいつも、nginxコンテナが起動していた記憶があります。

お読み頂きまして、誠にありがとうございます。


◆検証結果

まず、init.dが使われなくなる為、systemdを使う為に、wsl2の環境を導入、genieを使い、nginxの自動設定はOK。

そして、wsl1にまた環境を戻してサーバー接続も失敗。(wsl2を導入する前、wsl1でipv6アドレスでwebは一時表示されておりました。)

wsl2でnginxの自動起動設定がうまくいっても、wsl1ではnginxがactiveになっておらず、init.dのserviceコマンドでは起動出来ましたが、wsl2のactiveになっているnginxとは別物、という感じでした。

記事の通り、wsl2ではipv6未対応、genieを使う為にはwsl2の環境が必要、そしてwsl1なら、一時的にはipv6でweb表示が可能だということです。

結論としましては、余程の技術者でなければ、ipv6対応したいなら、Windows11proを入れろ、と。

あまりにも古いサーバーならば、Windows11proを入れるのは難しいかもしれませんが、起動usbを作って入れれば良いだけだと思います。


結論、nginxが落ちる原因は、nginx startでは起動するが、sudo update-rc.d nginx defaultsは全く機能しておりませんでした。

init.dは使われなくなるかもしれない、という情報ですが、パッチとして、

ランレベルにつきまして調べ、sysv-rc-confをインストールして、nginxを一旦off、再度on、sudo update-rc.d nginx enableも打ち、起動スクリプトのランレベルも一致している状態で、sudo update-rc.d nginx defaultsもやりましたが、nginx startをやらなければnginxは起動しませんが、この状態でnginxが落ちるのかどうか、2日ぐらい様子をみます。

最終的には、Windows11proを入れて、ipv6対応する方法を調べながら、自分でやっていきます。

長らく、本当にありがとうございました。

windows11のインストールにつきまして。

https://officeforest.org/wp/2021/07/13/windows-11-insider-preview%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/

投稿2022/03/24 06:28

編集2022/03/28 06:13
UsuallyTired

総合スコア21

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

IPv6

IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

nginx

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