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

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

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

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

937閲覧

http://localhost:3000について

prknkn

総合スコア16

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

1クリップ

投稿2020/09/28 03:33

http://localhost:3000についての相談です。

vagrant環境(ローカル環境→vagrant up→vagrant ssh)では、
http://localhost:3000がうまく実行出来るのですが、
ローカル環境(Desktop)から、node.js等を使用して、http://localhost:3000通信すると、リロード状態が続きうまく表示されません。
vagrant環境でport:3000を使用している場合は、ローカル環境ではしようできないのでしょうか?
(vagrantとローカルでは、環境が違うという認識なのですが、、、)

確認内容や解決策等あれば、宜しくお願いします。
※環境設定等、細かい部分の認識が甘いので、表現違いや情報不足の時は、助言をいただけると幸いです。

環境
macOs Catalina 10.15.6

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

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

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

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

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

guest

回答1

0

ベストアンサー

サーバとして稼働する場合、
多くはPCのポート番号を専有する形で実現します。

例えばMacOS上でNode.jsを使って3000番でWebサーバを立ち上げた場合、
MacOSの3000番ポートを専有しますので、
Chrome等のブラウザやcurlコマンド、Node.jsのクライアントソフトからhttp://localhost:3000へHTTPリクエストを飛ばせば結果が帰ってきます。

ここまでは前提の話で、既に理解出来てると思います。


問題はVagrant。
Vagrant自体には仮想マシンを作る機能はありません。
特に指定がなければVirtualBoxという仮想マシンを構築するツールを間借りしています。

仮想マシンを構築する手段は色々とありますが、
VirtualBox流儀の作り方は仮想CPU、仮想メモリ、仮想HDDをMacOS上に作って自作PCを組み立てる感じになります。
その中に仮想ネットワークカードというものも含まれています。

ですのでLinuxマシンを構築して3000番ポートを専有させると
仮想マシンのLinux上で3000番ポートを専有しはじめます。

この時、MacOS上でブラウザを立ち上げてhttp://localhost:3000を閲覧しても何も帰ってきません。
MacOSでのlocalhostとはMacOS自身の事であり、その中で作った仮想マシンなんて赤の他人ですから。

virtualbox Webサーバといった感じのワードで検索してみましょう。
一例としては、中のLinuxマシン上でip addr等のコマンドでIPアドレスを探して、
http://localhsot:3000http://[IPアドレス]:3000に置き換えると上手くいくケースがあります。

この辺はVirtualBoxの設定の仕方により変わってきますので
この方法で全て上手くいくというわけではありません。
アレコレ参考サイトを変えながら適した方法を探してみてください。

投稿2020/09/28 04:25

miyabi-sun

総合スコア21203

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

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

prknkn

2020/09/28 04:41

miyabi-sunさん ご丁寧な回答ありがとうございます。 ふんわりしていた部分も確認出来ました。 仮想マシン上とmacOS上では、同じhttp://localhsot:3000でも、全く別ものという認識ですよね。 頂いた検索ワード等を元に確認してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問