web-dev-qa-db-ja.com

Node.js-URLからポートを削除するにはどうすればよいですか?

Node.jsとsocket.ioを使用します。

アプリケーションはポート3000で実行されます。アプリケーションはURLから開始します。mydomain.com:3000/

mydomain.comからアプリケーションを実行したい-URLからポートを削除したい.

この設定はどこでどのように設定できますか?

34
Jenan

_server.listen_ 呼び出しを見つけて、ポートを_3000_から_80_に変更します。 Linuxシステムで1024未満のポートにバインドするには、_CAP_NET_BIND_SERVICE_機能(詳細についてはcapabilities(7)を参照)を使用してプログラムを実行する必要があることを忘れないでください。 root特権には、この特権と他の特権が含まれます。

23
sarnold

説明したように「ポートなしで」実行したい場合は、実際にはポート80で実行します。ルート権限なしでは実行できません。

代わりに

node server.js

あなたが必要

Sudo node server.js

これは、実行しようとしているマシンでSudoパーミッションを持っていることを前提としています。そうしないと、EACCESSの問題が発生します。それがsarnoldがあなたに伝えようとしていることです。

12
Aashay Desai

これは、Apacheを使用しているのでこれを行った方法です。ポート80は予約されているため使用できません。そこで、プロキシパスを設定します。/srcフォルダーを無視するように設定します。

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents/www.mysite.com"
    ServerName local.www.mysite.com
    ServerAlias local.www.mysite.com
    ProxyPass /src !
    ProxyPass / http://local.www.mysite.com:3000/
    ProxyPassReverse / http://local.www.mysite.com:3000/
</VirtualHost>
8
Anna

最初に、おそらくローカルホスト「127.0.0.1」からアプリケーションを実行したいと思うでしょう。 node.jsセットアップでポートを省略するだけでポートを削除できます。デフォルトでは、Webブラウザはポート80でサーバーを探します。何らかの理由でサーバーをポート3000で実行する場合は、URLに含める必要があります。

2
feralcreature