sshを介してリモートサーバーでtmuxを実行した後、プログラムが機能するのはなぜですか。しかし、セッションをデタッチした後、404を返しますか?
これはGo(golang)プログラムであり、nginxリバースプロキシの背後にあるポートでリッスンしているhttpサーバーです。
最初のデータ:すべてが次のように正常に機能します:
1 -私が使用してサーバーに接続しssh user@server-ip
、
2-実行tmux
、
3-tmux
セッション内でこのスクリプトを実行します. my-script.sh
。
#!/bin/sh
go build -v
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>/tmp/myapi.log 2>&1
export API_COUCHDB_ADMIN='admin'
export API_COUCHDB_PASSWORD='************'
export API_COUCHDB_URL='http://172.17.0.2:5984/'
# [some other env variables ...]
./myapi
4- Ctrl-b、dの順にtmuxセッションをデタッチします。
ここまでは順調ですね!アドレス上のブラウザ内ではすべて正常に動作http://www.myapi-consumer.com
し、sshターミナルはまだ開いています。だが
5-sshセッションを(Ctrl + aおよびdで)切り離すと、プログラムは正しく機能しなくなり、404を返します(404を送信するものです)。
6-を使用してリモートサーバーに再接続すると、ssh user@server-ip
期待どおりに機能し、別の接続で「機能している」部分をテストしています-別のインターネット接続を使用している携帯電話で。
何が起こっている?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加