如何用Nginx做端口转发
如何用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服务器了。
相关文章