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

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

ただいまの
回答率

89.23%

hostOSからVagrantへアクセスしたい

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 791

ikaihsoy

score 11

前提・実現したいこと

vagrant環境下でサーバーを立ち上げて、ホスト(windows10)からアクセスをしたい。

実際にFirebaseでサーバーを立ち上げ、ブラウザとcurlでlocalhost:5000にアクセスしてみたのですが、
「このサイトにアクセスできません」というメッセージが出てしまいます。
SElinux、firewall、Vagrantfileなど思い当たるところはやってみたのですが、解決に至っていません。
他に見直すべき箇所はございますでしょうか。
原因が分かる方がおられましたら、よろしくお願いいたします。

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

vagrant環境下でサーバーを立ち上げて、ホストからアクセスができない。

エラーメッセージ

C:\Users\{user name}>curl -I localhost:5000
curl: (56) Recv failure: Connection was reset

該当のソースコード

  • コマンドライン(vagrant centos7)

$ firebase serve
vagrant@localhost public]$ ls
404.html  index.html
[vagrant@localhost public]$ firebase serve

=== Serving from '/home/vagrant'...

i  hosting: Serving hosting files from: public
✔  hosting: Local server: http://localhost:5000

[vagrant@localhost ~]$ curl -I localhost:5000
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 3505
ETag: fe4132915b7c7eacd8a396745f917c18
Last-Modified: Tue, 04 Jun 2019 14:35:15 GMT
Date: Sun, 09 Jun 2019 03:20:10 GMT
Connection: keep-alive

  • ホスト側(windows10)
    localhostへ繋がるか確認

C:\Users\{user name}>curl -I localhost:5000
curl: (56) Recv failure: Connection was reset
httpdで繋がるipに変更して実行
C:\Users\{user name}>curl -I 192.168.33.10:5000
curl: (7) Failed to connect to 192.168.33.10 port 5000: Connection refused

  • Vagrantfile

Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 5000, host: 5000
config.vm.network "forwarded_port", guest: 9005, host: 9005
config.vm.network "private_network", ip: "192.168.33.10"
end

試したこと

  • SELinuxの確認

$ getenforce
Disabled

  • firewallの確認

$ firewall-cmd --state
not running

・競合サーバーが動いていないこと(httpdが立ち上がっていないこと)の確認

[vagrant@localhost ~]$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
  Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Active: inactive (dead)
    Docs: man:httpd(8)
          man:apachectl(8)

  • httpdサーバー利用時
    vagrant

[vagrant@localhost public]$ sudo systemctl start httpd
[vagrant@localhost public]$ curl -i 127.0.0.1:80
HTTP/1.1 200 OK
Date: Sun, 09 Jun 2019 03:54:44 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 06 Jun 2019 15:01:44 GMT
ETag: "16-58aa8fe02307a"
Accept-Ranges: bytes
Content-Length: 22
Content-Type: text/html; charset=UTF-8

<h1>hello apache</h1>

windows10
localhostで繋がるか確認

C:\Users\{user name}>curl -I localhost:80
curl: (7) Failed to connect to localhost port 80: Connection refused

localhostをipに変更して確認

C:\Users\{user name}>curl -I 192.168.33.10:80
HTTP/1.1 200 OK
Date: Sun, 09 Jun 2019 03:57:58 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 06 Jun 2019 15:01:44 GMT
ETag: "16-58aa8fe02307a"
Accept-Ranges: bytes
Content-Length: 22
Content-Type: text/html; charset=UTF-8

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

Vagrant 2.1.2
CentOS Linux release 7.6.1810 (Core)
windows10 Home

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • suama

    2019/06/10 23:06

    Windows側からIPアドレス(192.168.33.10)では接続できるのですね。
    127.0.0.1:80 でもダメでしょうか。
    もしかして、Windowsのセキュリティソフトや、Windowsのファイアウォールの設定で、localhostへの80番接続が許可されていないとかもあるので、その辺りはどうでしょうか。

    キャンセル

  • ikaihsoy

    2019/06/11 22:59

    192.168.33.10:80は接続できています。
    127.0.0.1:80, localhost:80については
    windows側のファイヤーウォールも確認しましたが、ともにアクセスできませんでした。

    キャンセル

回答 1

checkベストアンサー

0

firebase serve のオプションで解決できるのではないかと思います。

https://qiita.com/kaminaly/items/6977881cd3ebcb7626f3

-oオプションでhostを変えられる

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

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

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

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 89.23%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

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