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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

2回答

1113閲覧

nasのnodeに外部からアクセスできません

Izumo1101

総合スコア49

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2020/04/06 13:39

編集2020/04/06 14:09

当方サーバーの知識に乏しく基本的なことをわかっていない場合があります。ご容赦ください。

synologyNAS DiskstationDS218
node.jsv8 インストール済み(特に設定はしていない)
Web Stationインストール済み(外部から自作htmlファイルを閲覧可能状態)(webフォルダが生成されこの中に通常はindex.htmlを入れている)
ローカルネットワーク内 例:192.168.1.11
外部からhttps://**.*.me

このような環境があり、httpサーバーのように自分のhtmlを外部回線から閲覧できるように設定は済ませてあります。具体的にはnasu内のwebフォルダにあるindex.htmlを「https://**.*.me」にて外から閲覧できる状態です。要するにルーターのポートも開けて、そこから来たアクセスはwebフォルダのindex.htmlに誘導してくれるところまではできています。

これとは別にnode.jsの勉強をしており、こちらは正常な動作を確認できています。
そこでこのスクリプトをnasにのせ、外部から利用できるようにしたいのですがうまくいきません。なおLAN環境下では(192.168.****)正常にアクセスしスクリプトも動きhtmlファイルに接続してくれます。

スクリプトはポート1234で待機するので、https://**.*.me:1234で応答するかと思ったのですがサーバーの反応なしと出ます。
検証はLAN接続して正常に表示されたiphoneをwifi切断しソフトバンク回線で試しましたが駄目でした。

なにか思い違いをしているのでしょうか。なにかアドバイスをお願いします。

追記:
ちなみにネットで当たった情報をもとに何もわからずスクリプトのポートを80に設定しましたがすでに使われている旨のエラーが出ました。sshで接続してnode起動しています。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/04/06 19:28

「外部から自作htmlファイルを閲覧可能状態」というのはルーターのポート 80 を nas に転送するように設定したということですよね? 同様にポート 1234 も転送する設定が必要なのでは?
guest

回答2

0

自己解決

hoshi-takanoriさんからのアドバイスを受け、またpapinianusさんからのご回答をヒントに、ルーターのポート設定に任意のポートを追加、解放しました。
その上でhttps:でアクセスしたところ、証明書の問題が出たのでhttpでアクセスすると無事に表示されました。

つまり私の認識、
https://<domain>.me
でアクセスされた通信は自動的にwebフォルダ(Webstationアプリにより自動生成されるpublicフォルダ)に誘導され、そこから:1234にてnodeスクリプトにアクセスする、でした。根本的に間違っていますか?

が大いに間違いであり、ポートに対する勉強がさらに必要だと感じました。

ご回答、追記要請の皆様ありがとうございました。

ついでにcurlコマンドがwin10で標準で使えることに気づかされ、大変有意義でした。

投稿2020/04/09 01:28

Izumo1101

総合スコア49

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

以前の質問の続きのようですが、sample.js をタスクスケジュールで起動して、スマホのモバイルネットワークから <domain>.synology.me:1234 にアクセスすると hello が返されました。

サーバーの反応なし

を具体的なレスポンスで教えてください。curl -v の結果で。

投稿2020/04/07 13:47

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Izumo1101

2020/04/09 01:12 編集

返信が遅くなりました。申し訳ありません。 重複しますが ・LAN内では192168***にてnodeスクリプトの起動は確認できている。 ・前回との差異として、タスクスケジューラではなくsshで直接nas内のディレクトリに移動してnodeスクリプトを起動している。 curl -v C:\Users***>curl -v https://<domain>.me:1234 * Rebuilt URL to: https://<domain>.me:1234/ * Trying <グローバルIPアドレス>... * TCP_NODELAY set * connect to <グローバルIPアドレス> port 1234 failed: Timed out * Failed to connect to <domain>.me port 1234: Timed out * Closing connection 0 curl: (7) Failed to connect to <domain>.me port 1234: Timed out これを見ると、回答者1様がおっしゃる通りルーターからのポート誘導がうまくいっていない感じなのでしょうか? 私の認識では https://<domain>.me でアクセスされた通信は自動的にwebフォルダ(Webstationアプリにより自動生成されるpublicフォルダ)に誘導され、そこから:1234にてnodeスクリプトにアクセスする、でした。根本的に間違っていますか? ------------ ちなみに同webフォルダにindex.htmlファイルを置いて公開し、 https://<domain>.me こちらをcurl -v でたたくと C:\Users***>curl -v https://<domain>.me * Rebuilt URL to: https://<domain>.me/ * Trying <グローバルIPアドレス>... * TCP_NODELAY set * Connected to <domain>.me (<グローバルIPアドレス>) port 443 (#0) * schannel: SSL/TLS connection with <domain> port 443 (step 1/3) * schannel: checking server certificate revocation * schannel: sending initial handshake data: sending 178 bytes... * schannel: sent initial handshake data: sent 178 bytes * schannel: SSL/TLS connection with <domain>.me port 443 (step 2/3) * schannel: failed to receive handshake, need more data * schannel: SSL/TLS connection with <domain>.me port 443 (step 2/3) * schannel: encrypted data got 3001 * schannel: encrypted data buffer: offset 3001 length 4096 * schannel: sending next handshake data: sending 126 bytes... * schannel: SSL/TLS connection with <domain>.me port 443 (step 2/3) * schannel: failed to receive handshake, SSL/TLS connection failed * Closing connection 0 * schannel: shutting down SSL/TLS connection with <domain>.me port 443 * schannel: clear security context handle curl: (35) schannel: failed to receive handshake, SSL/TLS connection failed となります。ポートは80または443でアクセスを通す設定になっていると思われます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問