Nginx 实现端口转发

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

首先我们需要找到服务器部署的nginx的配置文件nginx.conf

找到如下代码段实现配置端口转发

# nginx代理转发

server {
    listen  80;
    server_name     x.x.x.x;
    location / {
        proxy_set_header Host $host;
        proxy_pass      http://localhost:8080; # 当你访问80端口可以实现向8080端口转发
    }
}

其中有几个配置我们一个一个讲

listen

表示你该配置的server所监听的端口号。

server_name

用于设置虚拟主机服务名称如127.0.0.1 、 localhost 、域名

例如在windows本地主机上进行修改该配置则当访问该名称时会被nginx拦截这里或者直接在C:\WINDOWS\system32\drivers\etc\hosts修改也能达到此效果。

location

location后面跟着的路径匹配是你访问80端口时所匹配的路径当匹配到该路径时会被拦截并进行路径转发。你可以在一个server里面配置多个location。

下面是nginx路径匹配的规则

#路径完全一样则匹配
location = path {
}

#路径开头一样则匹配
location ^~ path{
}

#正则匹配大小写敏感
location ~ path{
}

#正则匹配大小写不敏感
location ~* path{
}

#前缀匹配
location path{
}

下面是路径匹配规则的实例

、/、/*和/**的区别配置

"/index?"能够匹配到"/indexA""/indexB"可是不能匹配"/index"也不能匹配"/indexAA";请求

"/index*"能够匹配"/indexA""/indexAA"可是不能匹配"/index/A";index

"/index/*"能够匹配"/index/""/index/A""/index/AA""/index/ABC"可是不能匹配"/index"也不能匹配"/index/A/B";

"/index/**"能够匹配"/index/"下的多个子路径好比"/index/A/B/C/D"

proxy_set_header

允许重新定义或者添加发往后端服务器的请求头

(17条消息) Nginx proxy_set_header参数设置_summer_west_fish的博客-CSDN博客

(17条消息) nigix的proxy_set_header、proxy_pass、proxy_redirect_proxy_set_header proxy_pass_程序员的修养的博客-CSDN博客

这篇写的很详细哈

proxy_set_header       Host $http_host; 
##$http_host代理服务器本身IP,不改变请求头的值.
##$proxy_host 会重新设置请求头
##$host 请求未携带HOST请求头时为虚拟主机的主域名

proxy_set_header       X-Real-IP $remote_addr;

proxy_set_header       X-Forwarded-For $proxy_add_x_forwarded_for
X-Forwarded-For: client1, proxy1, proxy2

proxy_pass

你所想转发的路径。

proxy_redirect

用来设置url重定向

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: nginx