質問するログイン新規登録

回答編集履歴

1

VPS関係を調べなおしてきた

2017/11/12 01:55

投稿

miyabi-sun
miyabi-sun

スコア21533

answer CHANGED
@@ -1,21 +1,33 @@
1
1
  サーバをライブラリに頼らずNode.js等を使って自力で構築する腕さえあれば何とかなりそうですね。
2
2
 
3
- まずVPS等のサーバをConoHa等で借ります(以下VPSと命名)
3
+ まずVPS等のサーバをConoHa等で借ります(以下VPSと命名)
4
4
  TCPサーバ(!?)をVPS上で構築し、また同じプロセスでWebサーバも構築します。
5
5
  要件は以下
6
6
 
7
7
  - Webサーバはポート80で待ち受ける
8
- - 同じプロセスでTCPサーバを立ち上げ(コネクションは5本程度)、マンション内の自宅からのコネクションを待ち受ける
8
+ - 同じプロセスでTCPサーバを立ち上げ(コネクションは5本程度)、マンション内の自宅からのコネクションを待ち受ける
9
- - Webサーバにアクセスが来たら、その通信を保留したまま自宅に向かってTCPメッセージを送信してレスポンスを受け取り代わりに返す
9
+ - Webサーバにアクセスが来たら、TCPメッセージを送信してレスポンスを受け取り代わりに返す
10
10
 
11
11
  家庭内でもTCPクライアントを自作します。
12
12
  要件は以下
13
13
 
14
14
  - VPSサーバにTCPクライアントとしてログインしてコネクションを張りっぱなしにする
15
- - VPSサーバからのリクエストメッセージを受信すると、`localhost/[pass]`へアクセスを行いTCPメッセージでVPSにレスポンスをストリーム送信する
15
+ - VPSサーバからのリクエストメッセージを受信すると、`localhost/[pass]`へアクセスを行いTCPでVPSにレスポンスを(headerもbodyも)ストリーム送信する
16
16
 
17
+ ただし、これ全部面倒みるとなると……
18
+ セキュリティの事や障害対応を一切考慮してませんので、上記に挙げてない具体的な仕様も突き詰めると
19
+ よほど優れたエンジニアでない限り開発だけでも数ヶ月は余裕でかかるでしょう。
20
+
17
21
  ---
18
22
 
19
- ただし、これ全部面倒みるとなると……
20
- 引っ越ししたり、別の回線引っ張って変動でもいいからグローバルIPアドレス取得することを素直に選びます。
21
- まぁ技術的には可能なので、探せば同じこと出来るアプリとかあるかもせんね
23
+ まぁ最終的にはtanatさんと同じ結論に回帰てき
24
+ [OpenVPN](https://www.openvpn.jp/)を使うが安全確実でしょう。
25
+ これだとVPSサーバと同じLANの中の1PCとして存在出来るようになります。
26
+
27
+ HDD内のファイルを外部から繋いで取り出す事が主目的ならばtanatさんの案をそのまま採用しましょう。
28
+ 質問文通り自宅鯖が目的なのであればVPSサーバにNginx等を入れてリバースプロキシサーバとして動かし、
29
+ VPN内のLAN経由で自宅サーバの80番ポートに叩くようにすれば自宅のWebサーバを公開することが可能です。
30
+
31
+ ただし、自宅に何台も外付けHDDをあることから想像して、アニメ等の動画、音楽データ…その他ごにょごにょした非常に重いファイルが多数あることでしょう。
32
+ それらをアクセス制限やトラフィック制限なしで不特定多数相手に公開してしまうと、
33
+ 著作権法違反でしょっぴかれたり、マンション内のトラフィックを吸い尽くしてマンションから叩き出されたりする可能性がありますので、くれぐれも用法用量を守って正しくお使いください。