Total Pageviews

Wednesday, 26 August 2020

使用 Nginx转发80端口上的服务到某个非80端口

 当我们让域名解析指向服务器的 IP 地址时,如果想访问非 80 端口上的服务时,就需要加上 :port,很显然这样很丑,所以我们就可以通过使用 Nginx 来监听 80 端口,判断发起请求的 URL,然后转发到不同的端口上。

安装 Nginx

首先我们需要给服务器安装 Nginx。

安装完成的 Nginx 并不会立刻启动,需要我们手动执行命令来开启它:

sudo systemctl start nginx

还可以输入以下命令,让 Nginx 可以随系统自动启动:

sudo systemctl enable nginx

相关命令补充:

# 开启 Nginx

service nginx start

# 停止 Nginx

service nginx stop

# 重启 Nginx

service nginx restart

# 查看 Nginx 状态

service nginx status

Nginx 的默认站点根目录为:

/usr/share/nginx/html/

Nginx 主配置如下(当修改配置文件后需要运行 service nginx restart 重新启动使配置剩下,在修改前注意备份!):

/etc/nginx/nginx.conf

配置

接着我们就需要修改配置文件:

nano /etc/nginx/nginx.conf

修改配置文件:

    // 当通过 your-url-name.com:80端口访问这个服务器时

    // 该请求会被转发到 127.0.0.1:9992

    server {

        listen 80; 

        server_name your-url-name.com; 

        // 通过访问的路径来处理转发 ...

        location / {             // 也不一定是127.0.0.1 ,也可以是另外一个服务器的某个端口等 ...            proxy_pass http://127.0.0.1:9992;        }

    }

保存配置文件之后,

# 重启 Nginx 使得配置生效:

service nginx restart

------

实际上就是利用Nginx的反向代理功能来实现目的。

No comments:

Post a Comment