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

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

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

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

DNSレコード

DNSレコードとは、DNS(ドメインネームシステム)に登録する情報を指します。主なレコードの種類としては「A/AAAA」「PTR」「SOA」「CNAME」「MX」「NS」「TXT」などがあり、それぞれに役割を持ちます。

DNS

DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Q&A

解決済

4回答

1579閲覧

自宅サーバ(複数)にそれぞれ別のURLで接続したい

deldo_saseum

総合スコア1

ドメイン

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

DNSレコード

DNSレコードとは、DNS(ドメインネームシステム)に登録する情報を指します。主なレコードの種類としては「A/AAAA」「PTR」「SOA」「CNAME」「MX」「NS」「TXT」などがあり、それぞれに役割を持ちます。

DNS

DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

0グッド

2クリップ

投稿2022/03/09 08:12

【環境】
自宅に複数のWebサーバ(※)があります。
※デスクトップPC、スマホ、ラズベリーパイ

 ルータにより上の3つはすべて同じLANにつながっており、
家庭内のIPはそれぞれ192.168.3.2, 192.168.3.3, 192.168.3.4 とします。
なお、グローバルIPは111.222.333.444とします。

 ルータのポート転送に以下の設定をしています。
・WANの111.222.333.444:81 ⇒ LANの192.168.3.3:80 に転送
・WANの111.222.333.444:82 ⇒ LANの192.168.3.4:80 に転送

 ドメインはムームードメインで取得していますが、まだIPとリンクはさせていません。
取得したドメインはexample.comとします。

【実現したいこと】 
LAN外から”URL”でスマホとラズベリーパイにそれぞれ接続したいです。
(例)phone.example.comだとスマホに接続され、
ras.example.comだとラズベリーパイに接続されるみたいな。
もちろん他のURLでも構いません。

 なお、LAN外からIPとポートを直接指定してアクセスした場合は、
スマホ、ラズベリーパイのトップページ(Apacheのテストページ)に接続されています。
(例)111.222.333.444:81に接続するとスマホに接続され、
111.222.333.444:82に接続するとラズベリーパイに接続されます。

 どこにどういった内容を設定すればよいのか教えていただければと思います。
よろしくお願いします。

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

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

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

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

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

maisumakun

2022/03/09 08:13

> LAN外から”URL”でスマホとラズベリーパイにそれぞれ接続したいです。 foo:example.com:81のような形でアクセスする、というのはどう判断されますか?
nukasa

2022/03/09 09:08

グローバルIPは一つしか無いのですよね。 ということは、DNSには、phone.example.comもras.example.comも同じグローバルアドレスとして定義するしかありません。サブドメインに関係なく、ポート番号で振り分けるしかありませんが、それで良いのですか。 phone.example.com:82 ⇒ ラズベリーパイ に接続 ras.example.com:81 ⇒ スマホに接続
deldo_saseum

2022/03/09 13:13

ご回答ありがとうございます。 できればポート番号が出ない形であればと思っています。 グローバルIPはひとつしかありません。
guest

回答4

0

ベストアンサー

他の回答にも既にありますが、一旦、すべてのリクエストをラズパイに送るようにルーターを設定します。ラズパイでは、リバースプロキシを立てて、リクエストのホスト名に合わせて、自分自身かスマホにフォワードするようにすればよいです。
ラズパイで動いているのが、Apacheであれば、mod_proxyでプロキシを簡単に実現することができます。

投稿2022/03/09 09:37

編集2022/03/09 09:42
nukasa

総合スコア406

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

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

deldo_saseum

2022/03/09 13:20

ご回答ありがとうございます。 シンプルな手順でどうすればよいかイメージがわきやすかったです。 mod_proxyがキーワードになりそうなので調べてみます。
guest

0

raspberry pi側にリバースプロキシを入れて、そこで振り分けをすればいいと思います。Apacheでもできるでしょうが、nginxのリバースプロキシの方が使いやすいと思うので、nginxを使うことをオススメします。

参考)
https://serverbuild.net/2020/03/09/nginx-rproxy-howto/

nginxのリバースプロキシにてFQDNを見て、raspberry piへのアクセスはlocalhostへ転送し、スマホへのアクセスはローカルIPに転送すればいいでしょう。

LAN内からアクセスする場合はルーターにヘアピンNATさせるか、ローカルにDNSサーバをおいてそれを参照するなどの対応が必要になると思います。

投稿2022/03/09 09:17

AbeTakashi

総合スコア4537

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

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

deldo_saseum

2022/03/09 13:18

ご回答ありがとうございます。 参考URLもありがとうございます。 nginxというものがあるんですね。 調べてみます。
guest

0

ホスト名を複数付けても、そのホスト名に対応するIPアドレスは1つしかないので、
111.222.333.444:80は、どこか一つの機器にしかポート転送できません。
つまり、一カ所で受けてそこからホスト名で他の機器に振り分けることになります。

これが許容できないのであれば、複数グローバルIPアドレスを割り当てられるような契約に変更するという、お金での解決になります。
あるいは外からのアクセスには80以外はポート番号を記述するか。

投稿2022/03/09 08:37

編集2022/03/09 09:40
otn

総合スコア84555

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

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

deldo_saseum

2022/03/09 13:17

ご回答ありがとうございます。 思っていた構成はできないのですね。 振り分けるという形で調べてみます。
guest

0

ルータでは80番ポートをLAN内の1ホストに転送して、そのホストでリバースプロキシを動かして、バーチャルホスト毎に別々のLAN内ホストに繋げるようにすれば可能かと思います。

実際にやったことはないので具体的なソフトや設定はわかりませんが、ざっと調べると Apache httpd の mod_proxy でできるように見えます。

投稿2022/03/09 08:37

int32_t

総合スコア20884

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

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

deldo_saseum

2022/03/09 13:16

ご回答ありがとうございます。 なるほど、バーチャルホストやmod_proxyについて調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問