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

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

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

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

nginx

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

Ubuntu

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

WordPress

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

リダイレクト

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

Q&A

解決済

2回答

4264閲覧

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

tomaa

総合スコア84

ドメイン

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

nginx

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

Ubuntu

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

WordPress

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

リダイレクト

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

0グッド

0クリップ

投稿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

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

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

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

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

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

guest

回答2

0

ベストアンサー

  • 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

総合スコア6415

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

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

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

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

0

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

投稿2020/10/19 15:26

編集2020/10/19 15:27
Takumiboo

総合スコア2534

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問