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

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

新規登録して質問してみよう
ただいま回答率
85.35%
さくらのVPS

さくらのVPSは、さくらインターネット社が提供するVPS(仮想専用サーバー)です。高速なSSDの選択や複数台構成も可能。利用者に応じた柔軟なプランが用意されています。大規模システムにも対応可能なスケーラビリティを備えたホスティングサービスです。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

nginx

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

1回答

4013閲覧

IPアドレスでアクセスすると404エラーになる。

minyouyuu

総合スコア39

さくらのVPS

さくらのVPSは、さくらインターネット社が提供するVPS(仮想専用サーバー)です。高速なSSDの選択や複数台構成も可能。利用者に応じた柔軟なプランが用意されています。大規模システムにも対応可能なスケーラビリティを備えたホスティングサービスです。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

nginx

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/03/24 14:24

さくらのVPS上に、Dokcer+Laravelでwebサイトを開発中です。

初期ドメイン:http://〇〇.vs.sakura.ne.jp
IPアドレス:http://XXX.XXX.XXX.XXX

独自ドメインの設定を行う前は、初期ドメインでもIPアドレスでも、webサイトを表示できていました。
しかし、独自ドメインの設定を行った後は、初期ドメインではwebサイトを表示できるものの、IPアドレスでアクセスすると、404エラーが発生します。また、独自ドメインでも404エラーが発生します。

server { listen 80; server_name ●●.com; root /work/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; index index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ .php$ { fastcgi_pass app:9000; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /.(?!well-known).* { deny all; } }

調べたところ、nginxのdefault.confのserver_nameがexample.comになっていたので、●●.comと独自ドメインに書き換えました。
その後docker restart コンテナ名でnginxを再起動しました。

しかし、404エラーは出たままです。

①default.confを修正
②nginxを再起動
の二つ以外に、何か必要な作業があるのでしょうか?

お手数をお掛けいたしますが、ご教授のほどよろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

設定手順そのものは合っているように見えます。

まず、404 として表示されるのは「/work/public」ディレクトリが存在するかどうかと、そのディレクトリ内に index.php (index index.php;の記述があるため)があるかどうかの確認をします。

ファイルが間違いなく存在するのに表示されない場合、 server_name の設定が複数ある場合が考えられます。

一般的には、おそらく原因としましては、こちらの指定箇所にあたります。

server_name ●●.com;

今回の設定をされる前は IP アドレスとホスト名、どちらでもアクセスできましたので、おそらく server_name が1つしかなかったので、どちらでもアクセスできる挙動になります。

今回新たにこの server_name を指定されましたので、IP アドレスや初期のホスト名でもアクセスしたい場合には

server_name ●●.com 192.168.0.10 xxx.vps.sakura.ne.jp;

このように、(その server {} で囲まれた範囲の設定で)表示したいホスト名を並べることで、その設定で表示したいホスト名を制御できます。

投稿2021/03/24 21:08

zembutsu

総合スコア1584

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問