”localhost”および"127.0.0.1"はローカルループバックアドレスと呼ばれ自分自身を指すため、クライアント側からはこのままではアクセス出来ないのかなと思っています。
結論から言うと、VPSに割り当てられたサブドメインを使ってください。
コントロールパネル画面 - さくらのVPS マニュアル
上記ページの「名称未設定」の下に■■■.vs.sakura.ne.jp
という文字列が記載されていますよね。
コントロールパネルにアクセスして、そこの文字列を使いましょう。
一旦解説を挟んだ後、それだけじゃダメだよって話をしていきます。
解説していきます。
貴方は長期休暇で知り合いと旅行に行く計画をしており、
スマホで良いと評判のホテルを予約しました。
当日そのホテルへチェックインする為に現地へ移動するわけですが、
「貴方はホテルの住所をスマホに登録しておき、地図アプリで調べながら到着」しました。
このような流れはWebでも同様です。
Web上で公開されているパソコンには「住所」を示す「IPアドレス」が必要です。
それはサーバーマシンも同じです。
203.0.113.99
や2001:0db8:0000:0000:0000:0000:0000:00fd
といった数字ですね。
これはレンタルサーバやVPSといったサービスを利用する時にマシンに割り当ててくれます。
しかし我々は普段yahoo.co.jp
といった文字列でアクセスしています。
この文字列を「ドメイン」と呼びます。
Webの世界には人間が理解しやすい文字列を「IPアドレス」に変換してくれるNICという団体が存在しており、
我々Webの利用者はブラウザで何気なくyahoo.co.jp
等にアクセスしていますが、
このNICさんにお伺いして文字列をIPアドレス(前述のyahoo.co.jpは183.79.217.124
)に変換してからアクセスしています。
参考サイト: WHOIS情報検索
この辺は概要だけでさらっと飛ばすとして、
VPSやレンタルサーバを借りても住所の情報が無ければ使えません。
サービスとして破綻してしまう……
なのでサービス提供者からこの住所使ってねという「ドメイン」や「IPアドレス」の情報が払い出されます。
都度コントロールパネルにアクセスして確認するなり、メモを取るなりしましょう。
別料金になりますが、独自ドメインを取得して利用することも可能です。
レンタルしたVPSのIPアドレスを繋ぎ込む事で、自分だけのドメイン名でサービスを利用できます。
■■■.vs.sakura.ne.jp
なんてダサい!やだやだ!と思ったら検討してみてください。
価格一覧 - さくらのドメイン
年間利用料金がこれで、月額にすると低スペックなVPSの半額とかそのあたりになりますね。
次にポート番号の話をしていきます。
js
1var http = require('http');
2var httpProxy = require('http-proxy');
3
4httpProxy.createProxyServer({
5 target: 'http://localhost:9000'
6}).listen(8080);
7
8http.createServer(function(req, res) {
9 res.write('Hello Proxy');
10 res.end();
11}).listen(9000);
.listen(数字)
の数字の部分に注目してください。
これはマシンのポート番号に利用申請して占拠する事で、
外部からTCP通信が来た時に番号に一致するサービスに通信を流し込んでくれます。
上記のコードでは.listen(9000)
や.listen(8080)
といった数字を利用したいよと言っています。
なので、マシンと紐付いているのは9000
や8080
番のポートなんです。
送信元アドレス TCP80/443 の許可は設定しています。
80
と443
番を許可しても意味がありません。
Node.js製のWebサーバは9000
や8080
番を求めているので、これと一致するポート番号を許可しましょう。
WebサーバはTCPなので、TCP9000の許可を出せば使えるようになるはずです。
そうすれば前述のサブドメインを利用してこんな感じでアクセスできるようになるでしょう。
bash
1$ curl http://■■■.vs.sakura.ne.jp:9000
話はこれでおしまいですが、
折角なので80
と443
という数字にも解説します。
普段我々はブラウザにyahoo.co.jp
等と入力してhttps://www.yahoo.co.jp/
のサイトを表示させて閲覧しています。
この時アクセスに使われるポート番号は443
で、ポート番号を省略せずにhttps://www.yahoo.co.jp:443/
と記入しても問題なくページを閲覧することが可能です。
httpならば80番、httpsならば443番が初期で使われるデフォルト値となります。
貴方が自分や知人しか使わないWebサイトを作り上げ、
こっそり使いたいならば8080でも9000でも良いです。
しかし、今後全世界に公開して皆に閲覧してほしいと思ったのならば
その時は80や443番を使うようにしましょう。
js
1var http = require('http');
2var httpProxy = require('http-proxy');
3
4httpProxy.createProxyServer({
5 target: 'http://localhost:9000'
6}).listen(80);
7
8http.createServer(function(req, res) {
9 res.write('Hello Proxy');
10 res.end();
11}).listen(9000);
こう直して、ローカルのマシンでサブドメイン使うだけで動くんじゃないですかね?
bash
1$ curl http://■■■.vs.sakura.ne.jp
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/25 10:09