web-dev-qa-db-ja.com

localhostが接続を拒否しました-ERR_CONNECTION_REFUSED

JavaScriptコードがajaxリクエストをコントローラーに送信し、コントローラーが応答を返す単純なMVC Webアプリケーションがあります。

私は2年前にアプリを作成しましたが、以前はすべて正常に機能していました。今、私はローカルでアプリを再度実行しようとし、次の問題に遭遇しました:Ajaxリクエストがフロントエンドからコントローラー(localhostで実行中)に送信されると、localhostは接続を拒否し、(Chrome)のJavaScriptでERR_CONNECTION_REFUSEDメッセージを受け取ります-コンソール。 (Safariのjavascript-consoleで、「リソースの読み込みに失敗しました:サーバーに接続できませんでした。」というエラーメッセージが表示されます。)

NetBeans 11.2を使用してアプリを実行しています。私のNetBeans IDEはサーバーとしてGlassFishを使用しています:

enter image description here

GlassfishサーバーをNetBeans IDEから削除し、ホームディレクトリ内のフォルダを削除してから、GlassfishサーバーをNetBeansに再度追加しましたIDE(Glassfishサーバーの最新バージョンもダウンロードする必要がありました) 。

それでも、サーバーはフロントエンドからの要求を受け入れることを拒否します。

Payara Server(バージョン5.193)も試してみました。それでも違いはありませんでした。

ちなみにフロントエンド自体は一見すると見栄えが良いです。つまり、 http:// localhost:8080/myapp にアクセスすると、アプリのフロントエンドが読み込まれます。ただし、サーバーはフロントエンドからの(マウスクリックで開始された)Ajaxリクエストの受け入れを拒否するため、アプリの動的機能は機能しません。

どうすれば修正できますか?


私は問題の理由を見つけたと思います:

私のjavascript-fileには、次のコード行があります。

var url = "http://localhost:8080/myapp/Controller";

変数 "url"は、すべてのAJAXリクエストがlocalhostに送信されます。ただし、クレイジーなのはAJAXリクエストが "- http:// localhost:8080/myapp/Controller "から" http:// localhost:8081/myapp/Controller "!!!!!

enter image description here

ここで何が起こっているのですか?

5
steady_progress

属性http-listenerの値がlocalhostの場合、外部接続の接続を拒否します。

コマンドを使用してその値を使用して確認できます

asadmin> get server-config.network-config.network-listeners.network-listener.http-listener-1.*

次のような情報が返されます。

server.http-service.http-listener.http-listener-1.acceptor-threads = 1
server.http-service.http-listener.http-listener-1.address = 0.0.0.0
server.http-service.http-listener.http-listener-1.blocking-enabled = false
server.http-service.http-listener.http-listener-1.default-virtual-server = server
server.http-service.http-listener.http-listener-1.enabled = true
server.http-service.http-listener.http-listener-1.external-port =
server.http-service.http-listener.http-listener-1.family = inet
server.http-service.http-listener.http-listener-1.id = http-listener-1
server.http-service.http-listener.http-listener-1.port = 8080
server.http-service.http-listener.http-listener-1.redirect-port =
server.http-service.http-listener.http-listener-1.security-enabled = false
server.http-service.http-listener.http-listener-1.server-name =
server.http-service.http-listener.http-listener-1.xpowered-by = true

Setサブコマンドを使用して属性を変更します。

この例では、http-listener-1のaddress属性を0.0.0.0に設定します。

asadmin> set server.http-service.http-listener.http-listener-1.address = 0.0.0.0

参照:

https://docs.Oracle.com/cd/E19798-01/821-1751/ablaq/index.html

1
Devesh mehta