Get the App
SLTechnology News&Howtos  ›  Servers  › 

How to use Nginx for Port forwarding

Shulou Source: shulou.com Published: 2022-06-01 08:55:06 09月15日 Update

This article is about how to use Nginx to do port forwarding, the editor thinks it is very practical, so I share it with you to learn. I hope you can get something after reading this article.

Sometimes we use some java or node applications, but we don't want them to listen on port 80 directly, so we need port forwarding.

Forward the domain name to the local port

First of all, the most commonly used one is to forward the domain name to another local port.

Server {listen 80; server_name tomcat.shaochenfeng.com; index index.php index.html index.htm; location / {proxy_pass http://127.0.0.1:8080; # forwarding rules proxy_set_header Host $proxy_host; # modify the forwarding request header so that applications on port 8080 can receive real requests proxy_set_header X-Real-IP $remote_addr Proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}

In this way, access to http://tomcat.shaochenfeng.com will be forwarded to local port 8080.

Forward the domain name to another domain name server {listen 80; server_name baidu.shaochenfeng.com; index index.php index.html index.htm; location / {proxy_pass http://www.baidu.com; proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}

When accessing http://baidu.shaochenfeng.com, it will be forwarded to http://www.baidu.com.

Forward one local port to another port or another domain name server {listen 80; server_name 127.0.0.1; # public network ip index index.php index.html index.htm; location / {proxy_pass http://127.0.0.1:8080; # or http://www.baidu.com proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr Proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}

In this way, access to http://127.0.0.1 will be forwarded to local port 8080 or http://www.baidu.com

Plus / with or without /

When configuring proxy_pass proxy forwarding, if url is followed by /, it indicates the absolute root path; if there is no /, it indicates the relative path

For example

Plus /

Server_name shaochenfeng.comlocation / data/ {proxy_pass http://127.0.0.1/;}

Access to http://shaochenfeng.com/data/index.html will be forwarded to http://127.0.0.1/index.html

Do not add /

Server_name shaochenfeng.comlocation / data/ {proxy_pass http://127.0.0.1;}

Access to http://shaochenfeng.com/data/index.html will be forwarded to http://127.0.0.1/data/index.html

The above is how to use Nginx to do port forwarding, the editor believes that there are some knowledge points that we may see or use in our daily work. I hope you can learn more from this article. For more details, please follow the industry information channel.

Tags: Port domain name more knowledge article path application utility that is work meeting common use article look knowledge point industry rules details information information channel follow Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Microsoft Shulou Tech Info vpn Apple Docker