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

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

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

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

Q&A

解決済

1回答

2477閲覧

nginxでドメイン名のみでアクセスできない理由がわからない

publicstatic

総合スコア23

nginx

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

0グッド

0クリップ

投稿2018/11/18 14:30

編集2018/11/18 14:32

前提・実現したいこと

nginxというサーバーをcentosにインストールして設定をしているのですが、
サーバーのドメイン名だけでデフォルトのdocumentroot

nginx

1/usr/share/nginx/html/

にブラウザからアクセスできるようにしたいと
思っています。

ブラウザに

url

1http://tnginx/

と入力してアクセスしようとしました。しかし、
urlの部分が

url

1http://www.tnginx.com/

に変化して

アクセスしようとしているサイトを見つけられません。

とでて繋がりませんでした。

できたこと

dnsのホスト名を付けた

url

1http://ns.tnginx/

ではつながったのでサーバーが落ちているということはありません。
また、別のサーバーソフトであるapacheをインストールしたときは
特別な設定をしなくてもドメイン名だけでアクセスできました。

nginxではなにか他に設定が必要なのでしょうか?
よろしくお願いします。

また、足りない情報があればご指摘お願いします。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード

試したこと

1.dnsサーバーの設定

bindというdnsサーバーをインストールして設定しました。

zoneファイル
#/var/named/tnginx.zone

tnginx.zone

1$TTL 1D 2@ IN SOA ns.tnginx. root.tnginx. ( 3 0 ; serial 4 1D ; refresh 5 1H ; retry 6 1W ; expire 7 3H ) ; minimum 8 NS ns.tnginx. 9@ IN A 192.168.10.108 10ns IN A 192.168.10.108 11www IN CNAME ns.tnginx. 12

この状態で

http://ns.tnginx/ http://www.tnginx/

とブラウザ側からアクセスすると
documentRootの

/usr/share/nginx/html/index.html

につながりました。

http://ns.tnginx/とhttp://www.tnginx/は繋がるのですが
http://tnginx/では繋がりませんでした。

2.バーチャルホスト

バーチャルホストを設定してtnginxでつながらないかと思い試してみました。

設定ファイル
#/etc/nginx/conf.d/default.conf

server { listen 80; server_name tnginx; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; }

参考HP
[https://heartbeats.jp/hbblog/2012/04/nginx04.html]

このHPでバーチャルホストの設定について見ると

引用テキストnginxはこのリクエストを受け取ると、このホスト名が

server_nameディレクティブに設定したサーバ名に
一致するserverディレクティブのバーチャルサーバを選び、
そのserverディレクティブ内の設定が適応されます。

とserver_nameを指定すればできると書かれていると思うのですが

アクセスしようとしているサイトを見つけられません。

と表示されます。

3.apacheサーバーでdnsを設定したとき

ドメイン名だけでアクセスできると思っている理由は
apacheという別のサーバーでbindをインストールして設定したときはできたからでした。
apacheの設定では

zoneファイル
#/var/named/t.com.zone

@ IN SOA dns1.t.com. root.t.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns1.t.com. IN MX 10 mail mail IN A 192.168.10.105 @ IN A 192.168.10.105 dns1 IN A 192.168.10.105 PC IN A 192.168.10.100

上記の状態でブラウザに

http;//t.com/

と入力してアクセスすると特別な設定をしないでドメイン名だけでもアクセスできました。

4.用語の勘違い

ドメイン名は、インターネット上のネットワークを特定する文字列。
ホスト名は、ネットワーク上のコンピュータを特定する文字列。
FQDNは、ホスト名とドメイン名をつなげて記述した文字列で、インターネット上の特定のコンピュータを指す

dnsサーバーのホスト名ドメイン名は
nginxは 
ホスト名:ns
ドメイン名:tnginx

apache
ホスト名:dns1
ドメイン名:t.com

であっていると思うのですが自信はありません。
t.comだけでアクセスできていたのでtnginxだけでもできるのではないかと思っています。

5.firewallの設定

firewallの設定は他のurlでは繋がっていたので大丈夫だと思いますが
確認のため見てみました。

#firewall-cmd --list-all

public (active) target: default icmp-block-inversion: no interfaces: xxx sources: services: ssh dhcpv6-client http dns ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

services のところにhttpとdnsがあるのでできると思います。

補足情報(FW/ツールのバージョンなど)

nginx 1.14.1
centos 7.5.1804
bind 9.94-RedHat-9.94-61.el7_5.1(Extended Support Version)

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

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

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

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

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

guest

回答1

0

自己解決

nginxのドメイン名を
tnginx→tnginx.com
に直して設定したところtnginx.comで接続することができました。

なぜtnginxというドメインではだめだったかというと

参考HP
イメージ説明
この中でドメイン名の中にドットがないとドメイン名としてブラウザが認識してくれないとありました。

今後はaliasを使ってtnginxでアクセスできるようにしたいと思っています。
お騒がせしました。

投稿2018/11/19 03:54

publicstatic

総合スコア23

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問