1.配置ip地址,为实现负载均衡通过配置upstream将请求进行分发到部署的server节点,可以为server节点配置weight权重,进行节点的流量控制,server 192.168.1.1:8808 weight=2;
http {
include mime.types;
default_type application/octet-stream;
upstream upstream_name {
server 192.168.1.1:8808;
server 192.168.1.2:8808;
}
server {
listen 80;
server_name localhost;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
add_header Proxy-Node $upstream_addr;
add_header Proxy-Status $upstream_status;
proxy_pass http://upstream_name;
}
}
}
若没有部署多个服务器节点,只是简单的做ip地址转发,proxy_pass配置的值直接就是IP地址加端口:proxy_pass http://192.168.1.1:8808;,此时后面是没有路径的,将ip地址和端口做转发,示例:
server {
listen 80;
server_name localhost;
#请求是http://127.0.0.1:80/test/haha/aaa
#转发到http://192.168.1.1:8808/test/haha/aaa
location /test/ {
proxy_pass http://192.168.1.1:8808;
}
}
2.针对访问路径进行的代理文章来源:https://www.toymoban.com/news/detail-502843.html
server
{
listen 80;
server_name localhost;
#请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
#请求是http://127.0.0.1:80/Test/haha/aaa
#分发到http://127.0.0.1:9501/Api/haha/aaa
location ~* /test/(.*)$ {
proxy_pass http://127.0.0.1:9501/Api/$1?$args;
}
}
#用rewrite来写
server
{
listen 80;
server_name localhost;
location ~* /test {
rewrite (.+) http://127.0.0.1:9501/Api$1?$args permanent;
}
}
nginx 配置文件大全文章来源地址https://www.toymoban.com/news/detail-502843.html
$args # 这个变量等于请求行中的参数。
$binary_remote_addr # 远程地址的二进制表示
$body_bytes_sent # 已发送的消息体字节数
$content_length # 请求头中的Content-length字段
$content_type # 请求头中的Content-Type字段
$document_uri # 与$uri相同
$document_root # 当前请求在root指令中指定的值
$host # 请求主机头字段,否则为服务器名称
$http_user_agent # 客户端agent信息
$http_cookie # 客户端cookie信息
$http_referer # 引用地址
$http_user_agent # 客户端代理信息
$http_via # 最后一个访问服务器的Ip地址
$http_x_forwarded_for # 相当于网络访问路径
$query_string # 与$args相同
$request_method # 客户端请求的动作,通常为GET或POST
$limit_rate # 这个变量可以限制连接速率
$request_body_file # 客户端请求主体信息的临时文件名
$remote_addr # 客户端的IP地址
$remote_port # 客户端的端口
$remote_user # 已经经过Auth Basic Module验证的用户名
$request # 用户请求
$request_body_file # 发往后端的本地文件名称
$request_filename # 当前请求的文件路径,由root或alias指令与URI请求生成
$request_method # 请求的方法,比如 GET 、POST 等
$request_uri # 请求的URI,带参数
$query_string # 与$args相同
$scheme # HTTP方法(如http,https)
$server_protocol # 请求使用的协议,通常是HTTP/1.0或HTTP/1.1
$server_addr # 服务器地址,在完成一次系统调用后可以确定这个值
$server_name # 服务器名称
$server_port # 请求到达服务器的端口号
$request_uri # 包含请求参数的原始URI,不包含主机名,如 /foo/bar.php?arg=baz
$uri # 不带请求参数的当前URI,$uri不包含主机名,如 /foo/bar.html
到了这里,关于配置nginx的地址和路径的代理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!