首先我们需要找到服务器部署的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博客
这篇写的很详细哈
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重定向