[Dev] IPv6アクセス確認
検証内容
- サーバにIPv6アドレスを2個割り振り、(学習用)
どちらも同じポート3000番でプログラムを起動。(別々のプロセス) - クライアントから、IPv6アドレスでサーバへアクセスして、
指定したIPv6アドレスでリスティングしているプログラムが受信することを確認する。
サーバ側
設定確認
ip -6 addr show enp0s31f6
ip -6 route show dev enp0s31f6
ip -6 neigh

ルーター

プログラム起動
bun run server1.ts 240f:54:d80d:1::1

⇒正常
プログラム起動
bun run server1.ts 240f:54:d80d:1::2

⇒正常
リスティング確認
外部(Googleサイト)アクセス確認
テストプログラムソースserver1.ts
import { serve } from "bun";
// 第1引数: hostname
// 第2引数: port
const hostname = Bun.argv[2] || "::";
const port = Number(Bun.argv[3] || 3000);
console.log(`listen: [${hostname}]:${port}`);
serve({
hostname,
port,
fetch: async (req) => {
const url = new URL(req.url);
console.log("url.pathname:", url.pathname);
if (url.pathname === "/hivemind/") {
const body = JSON.stringify({
jsonrpc: "2.0",
id: 0,
method: "hive.db_head_state",
params: {}
});
const backend = await fetch("http://localhost:8888", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Host": "steememory.com",
},
body,
});
const data = await backend.text();
return new Response(data, {
status: backend.status,
headers: {
"Content-Type": "application/json",
},
});
}
return new Response("Not Found", { status: 404 });
},
});
クライアント側
接続確認
curl [240f:54:d80d:1::1]:3000/hivemind/
curl [240f:54:d80d:1::2]:3000/hivemind/

⇒どちらも失敗
設定確認
ip -6 addr show eth0
ip -6 route show dev eth0
ip -6 neigh

⇒問題なさそう
外部(Googleサイト)アクセス確認
接続確認
curl [240f:54:d80d:1::1]:3000/hivemind/
curl [240f:54:d80d:1::2]:3000/hivemind/

⇒今回は成功
Sort: Trending
Loading...


