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

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

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

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

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

解決済

1回答

871閲覧

wordpressへの外部からの接続エラー

ktux_s

総合スコア12

nginx

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

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

1クリップ

投稿2018/01/12 04:59

編集2018/01/12 15:02

やりたいこと

Raspberry Pi にwordpressをインストールして外部からアクセスを試みていますが、サイトが表示されません。
同LAN内の端末からは以下のエラーログが出ますがアクセスは可能(サイトを閲覧することが可能)です。

pi@raspberrypi:/var/log/nginx/wordpress $ tail -f error_log 2018/01/12 13:22:03 [error] 28852#28852: *523 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.10.xxx, server: server-domain-exa, request: "POST /wp-admin/admin-ajax.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.10.yyy:10051", referrer: "https://192.168.10.yyy:10051/wp-admin/plugins.php?plugin_status=all&paged=1&s"

wordpressのサーバは以下のように記述しています。

upstream php { server 127.0.0.1:9000; server unix:/run/php/php7.0-fpm.sock; } server { listen 10051 ssl; server_name server-domain-exa; root /var/www/wordpress; index index.php; ssl on; ssl_certificate /etc/nginx/certz.crt; ssl_certificate_key /etc/nginx/certz.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; access_log /var/log/nginx/wordpress/access_log; error_log /var/log/nginx/wordpress/error_log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { include fastcgi.conf; fastcgi_intercept_errors on; fastcgi_pass php; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; } location ~* .(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } }

例えばIPhoneからhttps://server-domain-exa:10051のようにしてアクセスした場合、aaa.bbb.ccc.dddをグローバルIPアドレスとすると以下のようにaccess_logに書き込まれますが、サイトのほうは読み込みが完了せず、表示されません。
質問としては
①同LAN内からアクセスした場合にサイトは閲覧できるのにエラーログが吐き出されるのはなぜか
②外部からアクセスしたときにアクセスログがでるのにサイトが表示されないのはなぜか
です。
よろしくお願いいたします。

aaa.bbb.ccc.ddd - - [12/Jan/2018:13:39:35 +0900] "GET / HTTP/1.1" 200 3312 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0_3 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A432 Safari/604.1"
  • 追記

Wordpressの設定のうちWordpressアドレスとサイトアドレスがhttps://192.168.10.yyy:10051であったため、https://server-domain-exa:10051に変更してみたところ外部からのアクセスは可能になりましたが同LAN内に存在する端末からのアクセスができなくなりました。

仕様

  • 自宅ルータのポートマッピング済み
  • ドメイン取得済み
  • OS
pi@raspberrypi:/ $ lsb_release -a Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.3 (stretch) Release: 9.3 Codename: stretch
  • nginx
pi@raspberrypi:/ $ nginx -V nginx version: nginx/1.10.3 built with OpenSSL 1.1.0f 25 May 2017 TLS SNI support enabled
  • wordpress
pi@raspberrypi:/var/www/wordpress/wp-includes $ cat version.php | grep wp_version * @global string $wp_version $wp_version = '4.9.1';
  • php
pi@raspberrypi:/ $ php -v PHP 7.0.19-1 (cli) (built: May 11 2017 14:04:47) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.19-1, Copyright (c) 1999-2017, by Zend Technologies

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

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

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

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

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

guest

回答1

0

ベストアンサー

Wordpressの設定のうちWordpressアドレスとサイトアドレスがhttps://192.168.10.yyy:10051であったため、https://server-domain-exa:10051に変更してみたところ外部からのアクセスは可能になりましたが同LAN内に存在する端末からのアクセスができなくなりました。

WordPressの設定はグローバル(https://server-domain-exa)にしておいて、サーバーと同じネットワーク上ではグローバルドメインをローカルアドレスとして名前解決できるようにすればよいと思います。WindowsでもLinuxでもhostsファイルはDNS名前解決より優先順位が高いのでこのようなことが可能です。

/etc/hosts

192.168.10.yyy server-domain-exa

余談ですが、このようなことを利用するワームやウィルスがあったりします。ですので、Windowsではhostsファイルの書き換えは初期設定でログインユーザーをセキュリティに追加してからじゃないと変更できないようになっています。

投稿2018/01/14 07:50

Tomak

総合スコア1652

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問