回答編集履歴

1

章分けした

2022/04/02 00:45

投稿

miyabi-sun
miyabi-sun

スコア21395

test CHANGED
@@ -11,12 +11,21 @@
11
11
  必要に応じて同じマシンのDjangoに向けてHTTPリクエストを発射してJSONを受け取って利用する。
12
12
  こういう使い分けが可能となります。
13
13
 
14
+ ---
15
+
16
+ Node.jsやPythonから次元を引き上げての解説
17
+
14
18
  こういう同じマシンで使う事を意図したWebサーバは結構使えるテクニックです。
15
19
  今回はPythonとNode.jsで説明しましたが、HTTPサーバとクライアントさえあれば出来るので、
16
20
  ありとあらゆるプログラミング言語で可能な方法と言えるでしょう。
17
21
 
18
22
  デメリットを上げるなら多少のオーバーヘッドがありますが、
19
23
  それが許容できないならオーバーヘッドの少ない別のやり方をその時になって考えれば良いだけの話です。
24
+
25
+ 例えばTCPや[UNIXドメインソケット](https://ja.wikipedia.org/wiki/UNIX%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%BD%E3%82%B1%E3%83%83%E3%83%88)を使うとか
26
+ こいつらは使いづらいので[WebSocket](https://ja.wikipedia.org/wiki/WebSocket)を検討してみるのも良いかもしれないですね。
27
+
28
+ まぁ、最初そういう仕組みを作りたいなら同一マシン内でのWebサーバで十分です。
20
29
 
21
30
  ---
22
31
 
@@ -27,8 +36,10 @@
27
36
  それぞれ80、4000番ポートで待ち受けるWebサーバを起動します。
28
37
 
29
38
  Next.jsのAPIにアクセスしたら、必要に応じて`localhost:4000`にアクセスしてJSONを使います。
39
+ SSLやログインの機能は全てNode.jsにもたせて、
40
+ 権限チェックを通してからPythonに投げるような仕組みを構築すると良いでしょう。
30
41
 
31
- Curl等でPython部分も外に公開したければ、Nginxのリバースプロキシの設定を使うと良いでしょう
42
+ Python部分も外に公開したければ、NginxWebサーバソフトウェアのリバースプロキシの設定を利用する案があります
32
43
  NginxにTCP80番を設定して、Next.jsは3000番とかまた別のポート番号を与えておきます。
33
44
  パス部で区切ってNode.jsやPythonにリクエストを受け流す設定にして実現できます。
34
45
  参考記事: [NGINX リバースプロキシ | NGINX 日本語訳](http://mogile.web.fc2.com/nginx/admin-guide/reverse-proxy.html)