NGINX 服务器不代理服务器
NGINX server not proxying to server
我正在尝试代理一个使用 npm http-server 模块提供服务的测试项目,如下所示:
http-server -p 8081
.
我有以下nginx配置。
nginx.conf
user www-data;
worker_processes 4;
events {
worker_connections 7684;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include /etc/nginx/sites-enabled/*;
}
sites-enabled/default
upstream mysite {
server 127.0.0.1:8081;
}
server {
listen 80;
listen [::]:80;
location / {
proxy_pass http://mysite;
}
当我点击 localhost
时,它起作用了。当我点击 localhost:8081
时,它起作用了。但是,当我输入 http://mysite
时,控制台会给我一个 ERR_NAME_NOT_RESOLVED 错误。当我输入 mysite
时,它只是用谷歌搜索。任何人都可以解释发生了什么以及为什么它没有被适当地代理吗?
您有两台服务器
- 本地主机:8081
- 本地主机:80
mysite - 它只是平衡方法 nginx 的名称。
使用 server.listen 80
,您可以在端口 80 上创建一个本地服务器。所有请求 (location /
) 都被重定向 (proxy_pass
) 到 mysite
。 mysite
在端口 8081
上的本地主机上。
因此您必须 运行 端口 8081 上的另一台服务器。当您调用 localhost:80
时,您是在 8081 上调用它。
编辑:mysite
只是 nginx 内部后端集合的别名 (upstream
)。您不能调用 http://mysite from your browser. Instead just call http://localhost.
我正在尝试代理一个使用 npm http-server 模块提供服务的测试项目,如下所示:
http-server -p 8081
.
我有以下nginx配置。
nginx.conf
user www-data;
worker_processes 4;
events {
worker_connections 7684;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include /etc/nginx/sites-enabled/*;
}
sites-enabled/default
upstream mysite {
server 127.0.0.1:8081;
}
server {
listen 80;
listen [::]:80;
location / {
proxy_pass http://mysite;
}
当我点击 localhost
时,它起作用了。当我点击 localhost:8081
时,它起作用了。但是,当我输入 http://mysite
时,控制台会给我一个 ERR_NAME_NOT_RESOLVED 错误。当我输入 mysite
时,它只是用谷歌搜索。任何人都可以解释发生了什么以及为什么它没有被适当地代理吗?
您有两台服务器
- 本地主机:8081
- 本地主机:80
mysite - 它只是平衡方法 nginx 的名称。
使用 server.listen 80
,您可以在端口 80 上创建一个本地服务器。所有请求 (location /
) 都被重定向 (proxy_pass
) 到 mysite
。 mysite
在端口 8081
上的本地主机上。
因此您必须 运行 端口 8081 上的另一台服务器。当您调用 localhost:80
时,您是在 8081 上调用它。
编辑:mysite
只是 nginx 内部后端集合的别名 (upstream
)。您不能调用 http://mysite from your browser. Instead just call http://localhost.