当我在端口80上的一个https://github.com/ritenv/atwork机器实例上运行一个开源应用程序"atwork“(https://github.com/ritenv/atwork)时,我会得到包含禁止代码(403)的服务器响应:
AtWork running at 0.0.0.0:80
GET / 304 3.802 ms - -
GET /users/notifications 403 3.972 ms - 9
GET /posts?limitComments=true 403 0.956 ms - 9
GET /chats 403 1.289 ms - 9
GET /streams?subscribed=true 403 0.708 ms - 9
GET /streams?unsubscribed=true 403 0.859 ms - 9
GET /users/me 403 0.847 ms - 9
GET /system-settings 304 4.803 ms - -
GET /favicon.ico 304 0.453 ms - -
GET /system-settings 304 2.766 ms - -
GET /favicon.ico 304 0.322 ms - -但是,当我在另一个端口(8080)上运行它时,我从服务器收到以下200条消息:
AtWork running at 0.0.0.0:8080
GET / 200 4.219 ms - 6412
GET /users/notifications 304 12.189 ms - -
GET /posts?limitComments=true 304 5.162 ms - -
GET /chats 304 4.344 ms - -
GET /streams?unsubscribed=true 304 5.429 ms - -
GET /streams?subscribed=true 304 5.495 ms - -
GET /users/me 200 3.478 ms - 882
GET /system-settings 304 4.809 ms - -
Kirill A Novik is online.
GET /favicon.ico 304 0.795 ms - -我尝试了以下几点(然而,所有这些都没有奏效):
请帮助我理解我做错了什么,以及如何使端口80的行为与其他端口一样。
谢谢。
发布于 2016-05-23 22:05:56
解决这个问题有两种可能性。首先,为运行应用程序的ec2机器的用户提供根权限。但是它可以是一个安全风险运行的应用程序作为根。
秒是我喜欢的:以有限用户的身份运行nodejs应用程序,但在反向代理的后面运行。
应用程序可以监听端口> 1000左右的8080端口.您可以运行NGINX作为revers。它将监听80或443端口,并将请求传输到nodejs应用程序。您可以使用像这样的nginx信任- https://github.com/vodolaz095/hunt/blob/master/examples/serverConfigsExamples/nginx.conf。
https://stackoverflow.com/questions/37398448
复制相似问题