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

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

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

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

nginx

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

Q&A

解決済

IPアドレスでのアクセスが、独自ドメインにリダイレクトされない

tomaa
tomaa

総合スコア82

ドメイン

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

nginx

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

2回答

0グッド

0クリップ

3303閲覧

投稿2020/10/19 15:00

編集2020/10/19 23:29

前提・実現したいこと

VPSサーバーでubuntu,nginxを利用し、wordpressサイトを構築しています。

上記のサーバーには、独自ドメインを入手し、https化してサイトと紐付けを行っております。

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

/etc/nginx/site-available内にwordpress.confを作成し、/etc/nginx/site-enabled内へ設定ファイルのリンクを貼りnginxを起動して利用しています。

wordpress.confでは、httpsでのアクセスの設定、httpと、www付きURLからのリダイレクトの設定をしています。

https://mydomainname.comからのアクセス、http://mydomainname.comからのリダイレクトは通常どおりWordPressのサイトへアクセスできるのですが、サーバーのIPアドレスを直接入力してアクセスすると、nginxの初期画面が表示され、WordPressのサイトへアクセスできません。

どのような設定にすれば、IPアドレスを直接入力でもWordPressサイトへアクセスすることができるでしょうか?

関係するファイル等は以下のとおりです。

追記:
nginxの仕様だとセキュリティーの対策として、IPアドレス直打ちはアクセスさせないのが通常の仕様なのでしょうか?


wordpress.conf(編集済み)

server { listen 80; listen [::]:80; server_name mydomainname.com: return 301 https://$host$request_uri; } server { listen 80; listen 443 ssl; server_name www.mydomainname.com; ssl_certificate /etc/letsencrypt/live/mydomainname.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mydomainname.com/privkey.pem; return 301 https://mydomainname.com$request_uri; } server { listen 443 ssl default_server; server_name mydomainname.com xxx.xxx.xxx.xxx; ssl on; ssl_certificate /etc/letsencrypt/live/mydomainname.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mydomainname.com/privkey.pem; root /var/www/wordpress; index index.html index.htm index.nginx-debian.html index.php; location / { try_files $uri $uri/ /index.php?args; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; } }

ディレクトリ構造

/ |-var ||--www |||---wordpress |||---html ||||----index.nginx-debian.html
/ |-etc ||-nginx |||-sites-available ||||-default ||||-wordpress ||||-wordpress.conf |||-sites-enabled ||||-default ||||-wordpress.conf

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

ubuntu : 20.04
nginx : 1.18.0
PHP : 7.4

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

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

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

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

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

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

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

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

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

回答2

1

ベストアンサー

  • server_nameにIPを追加

  • listenにdefault_serverを追加

server { listen 80 default_server; listen 443 ssl default_server; server_name www.mydomainname.com 000.000.000.000(←IP); ssl_certificate /etc/letsencrypt/live/mydomainname.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mydomainname.com/privkey.pem; return 301 https://mydomainname.com$request_uri; }

投稿2020/10/19 15:31

hentaiman

総合スコア6367

tomaa👍を押しています

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

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

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

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

回答へのコメント

tomaa

2020/10/19 16:03

ご回答いただきありがとうございます。 教えて頂いた方法試してみたところ、下記のエラーが発生しました。 Oct 20 01:00:25 tk2-402-42490 systemd[1]: Starting A high performance web server and a reverse proxy server... Oct 20 01:00:25 tk2-402-42490 nginx[29372]: nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/wor> Oct 20 01:00:25 tk2-402-42490 nginx[29372]: nginx: configuration file /etc/nginx/nginx.conf test failed Oct 20 01:00:25 tk2-402-42490 systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE Oct 20 01:00:25 tk2-402-42490 systemd[1]: nginx.service: Failed with result 'exit-code'. Oct 20 01:00:25 tk2-402-42490 systemd[1]: Failed to start A high performance web server and a reverse proxy server.
hentaiman

2020/10/19 16:36

ああ、二つ目のserverディレクティブにdefault_server指定済みだったのね。よく見てなかった。 まあ回答内容のserver_nameだけでも設定すればipでのアクセスの対応は出来るので。
tomaa

2020/10/19 20:49

最初に載せたwordpress.confに誤りがあり、編集しました。 現在、編集済みとしているもので試していますが、IPアドレスでアクセスするとnginxのページにいってしまします。
hentaiman

2020/10/19 22:14

それだけじゃ分かりません ログを確認しましょう
tomaa

2020/10/19 22:42

現在は、サイト自体はアクセスでき、前回と同じ方法ではエラーのログが確認できないのですが、関係するログの確認方法はありますでしょうか?
hentaiman

2020/10/19 22:50

例えばアクセスログの出力先分けてみたらどのディレクティブ通ってるか分かるという感じて、頭捻りつつ意図した処理に入ってるか確認しましょう 見て分かるのは443にしかip書いてないようなので80に来てたら当然リダイレクトはされない
tomaa

2020/10/19 23:38

コメントありがとうございます。 80番にもIPアドレス加えるとリダイレクトできました。
hentaiman

2020/10/20 08:13

アクセスログの出力先の意味が分かってないかもという事で、一応補足しておくと serverディレクティブの下でaccess_logを設定しましょうという意味です nginx.confかdefault.confにaccess_logの記載があるのでそれの真似して設定しましょう
tomaa

2020/10/20 19:19

情報ありがとうございます。 教えていただいた方法で試してみたいと思います。

0

servernameにそのIPを指定したバーチャルホストを作成して、リダイレクトするとか

投稿2020/10/19 15:26

編集2020/10/19 15:27
Takumiboo

総合スコア2517

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

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

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

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

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

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

ドメイン

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

nginx

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。