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

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

新規登録して質問してみよう
ただいま回答率
85.48%
さくらのレンタルサーバ

さくらのレンタルサーバとは、格安サーバーで知られるさくらインターネット社の提供する共有レンタルサーバー。Webサイトの構築から簡単なプログラミングまで幅広く利用することができ、プランが多いことも特徴です。

nginx

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

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Q&A

解決済

2回答

1156閲覧

Nginxでドメイン/は動くがドメイン/testが動かない

kale_8765

総合スコア1

さくらのレンタルサーバ

さくらのレンタルサーバとは、格安サーバーで知られるさくらインターネット社の提供する共有レンタルサーバー。Webサイトの構築から簡単なプログラミングまで幅広く利用することができ、プランが多いことも特徴です。

nginx

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

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

0グッド

0クリップ

投稿2022/01/01 13:22

やりたいこと
環境 さくらvps nginx/1.18.0 ubuntu18.04

サーバー証明書を使ってSSL通信をしたいのですが、サーバー証明書を得るために認識ファイルをhttp:/ドメイン.well-known/pki-validationに置くとサーバー証明書をもらえると認識しています。そこでnginxのdefault.confファイルを次のように書きました。

html

1server { 2 listen 80; 3 server_name localhost ドメイン名.com; 4 5 location / { 6 root /usr/share/nginx/html; 7 index 認証ファイル.txt index.html index.htm; 8 } 9 location /test { 10 root /usr/share/nginx/html; 11 index 認証ファイル.txt index.html index.htm; 12 } 13 location /.well-known/pki-validation/8512ba2de0473b78f695db7948a4c2ad.txt/ { 14 root /usr/share/nginx/html; 15 index 認証ファイル.txt index.html index.htm; 16 } 17 location /login { 18 proxy_pass http://localhost:3000; 19 } 20 21} 22

こうしたところ、http://ドメイン/だと認識ファイルがみられるのですが、http://ドメイン/testで見ようとしても404NotFoundが出てしまいます。しかし、Nodejsのパスを通してある/loginは問題なく実行できます。nginxの再起動はやりました。
ドメイン/testで認証ファイルを開けないのはなんででしょうか?また、対処方法を教えてくださいm(_ _)m

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

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

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

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

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

skys215

2022/01/01 14:05 編集

/usr/share/nginx/html/認証ファイル.txt /usr/share/nginx/html/index.html /usr/share/nginx/html/index.htm どちらかのファイルはありますか?
kale_8765

2022/01/01 14:10

ファイルはすべてhtmlの中にあります。 location /で認証ファイルを表示できてるので問題ないと思っています。
skys215

2022/01/01 14:18

/usr/share/nginx/html/にhoge.htmlで1と書いて保存し、/usr/share/nginx/html/test/hoge.htmlには2と書いて、http://ドメイン/test/hoge.htmlを開けたときに表示するのは1か2でどちらのセッティングを通ってるのかがわかります。
kale_8765

2022/01/01 14:30

2と出てきました!いまいちわかっていないのですが、どういうことなのか教えていただいてもよろしいでしょうか?
kale_8765

2022/01/01 14:38

rootの設定がいまいちわかっていませんでした。確認方法がとても面白く分かりやすかったです。ありがとうございます。
guest

回答2

0

パス /test/ に対するディレクトリは /usr/share/nginx/html/test/ になります。
/usr/share/nginx/html/認証ファイル.txt を応答したいのであれば、alias を使うといいと思います。

location /test { alias /usr/share/nginx/html; index 認証ファイル.txt index.html index.htm; }

投稿2022/01/01 14:49

TaichiYanagiya

総合スコア12146

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

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

kale_8765

2022/01/01 14:51

できました!流石です!!ありがとうございます
guest

0

自己解決

location /html {
root /usr/share/nginx/;
index ドメイン名.txt index.html index.htm;
}
のように書きました

投稿2022/01/01 14:47

kale_8765

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問