如何用Nginx做端口转发

2023-04-14 11:21:00 端口 转发 如何用

如何用Nginx做端口转发

当我们在使用Nginx的时候,有时候需要做端口转发。比如我们有一个web服务器,监听了80端口,但是我们希望用户访问的时候使用的是443端口。这时候我们就需要做端口转发。

下面我们就来看看如何使用Nginx来做端口转发。

首先,我们打开Nginx的配置文件,在server段中添加如下配置:

server {

listen 443;

server_name www.example.com;

location / {

proxy_pass http://www.example.com:80;

}

}

上面的配置中,我们首先声明了一个server段,监听了443端口。然后我们配置了server_name,指定了要转发的域名。最后我们配置了location段,指定了要转发的url。

上面的配置中,我们将用户访问的443端口的请求转发到了80端口。

如果我们还想让用户访问的是https://www.example.com,而不是http://www.example.com:443,我们可以在location段中添加如下配置:

location / {

proxy_pass http://www.example.com:80;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

}

上面的配置中,我们首先通过proxy_pass将用户的请求转发到了80端口。然后我们通过proxy_set_header设置了Host头和X-Forwarded-For头。最后我们通过proxy_set_header设置了X-Forwarded-Proto头,告诉服务器我们访问的是https。

这样我们就可以通过https://www.example.com访问我们的web服务器了。

相关文章