1535316910 发表于 2023-7-6 11:44:17

Nginx服务器

假如Nginx服务器192.168.1.8可以和同一内网网段的192.168.1.9的应用服务器进行通信,同时Nginx服务器具有公网能力并将公网绑定到域名felord.cn上。那么我们Nginx代理的对应的配置(nginx.conf)是这样的:

    server {
      listen       80;
      server_namefelord.cn;
    #   ^~ 表示uri以某个常规字符串开头,如果匹配到,则不继续往下匹配。不是正则匹配
      location ^~/api/v1 {
            proxy_set_header Host $host;
            proxy_pass http://192.168.1.9:8080/;
      }
    }

经过以上配置后我们服务器真实的接口地址是http://192.168.1.9:8080/foo/get就可以通过http://felord.cn/api/v1/foo/get访问。

proxy_pass如果以/结尾,就相当于是绝对根路径,那么Nginx不会把location中匹配的路径部分代理走;如果不以/结尾,也会代理匹配的路径部分。
这是一个 Nginx 配置文件中的 server 块,用于处理指向 felord.cn 域名的 HTTP 请求。在该 server 块中,我们可以看到一个 location 块,用于匹配请求 URI 中以 /api/v1 开头的请求。
该 location 块中的 ^~ 修饰符表示该规则是一个前缀匹配规则,当请求 URI 以 /api/v1 开头时,就会将请求转发到 http://192.168.1.9:8080/。
其中,proxy_set_header Host $host 表示将请求头中的 Host 字段设置为当前请求的主机名。proxy_pass http://192.168.1.9:8080/ 表示将请求转发到 http://192.168.1.9:8080/ 这个地址上,并且保留原本的 URI。
总之,这个配置就是将以 /api/v1 开头的 HTTP 请求转发到 http://192.168.1.9:8080/ 这个后端地址上进行处理。

在 Nginx 配置文件中,location 块用于匹配请求路径,并提供一些控制如何处理请求的指令。具体来说,location 块包含一个 URI 前缀或正则表达式,用于匹配请求 URI。当一个请求 URI 与某个 location 块相匹配时,Nginx 会按照该 location 块提供的指令处理这个请求。
例如,在下面的配置文件中:
location / {
    root /var/www/html;
}

location /api {
    proxy_pass http://127.0.0.1:8080;
}

第一个 location 块匹配所有请求路径,因为它没有指定前缀路径或正则表达式。而第二个 location 块匹配所有以 /api 开头的请求路径。当一个请求 URI 被匹配到某个 location 块时,Nginx 会按照该 location 块提供的指令来处理这个请求。
在 location 块中,可以使用各种指令来控制如何处理请求。例如,可以通过 proxy_pass 指令将请求转发到另一个服务器,通过 root 指令设置 Web 根目录,通过 try_files 指令设置文件查找规则等等。
总之,location 块是 Nginx 中非常重要的一个配置块,在 Web 开发中应用非常广泛,能够帮助我们实现路由、反向代理、缓存等功能。

李恒道 发表于 2023-7-6 12:08:28

好痒啊。。。好像要长脑子了

1535316910 发表于 2023-7-6 12:27:20

李恒道 发表于 2023-7-6 12:08
好痒啊。。。好像要长脑子了

是的啊我也感觉我也要长脑子了

1535316910 发表于 2023-7-6 12:37:02

求靠谱的网课api对接
求靠谱的网课api对接
求靠谱的网课api对接
求靠谱的网课api对接
求靠谱的网课api对接
求靠谱的网课api对接






有大佬可以联系 1535316910@qq.com

王一之 发表于 2023-7-6 14:43:54

1535316910 发表于 2023-7-6 12:37
求靠谱的网课api对接
求靠谱的网课api对接
求靠谱的网课api对接


go.every-api.com

题库?

1535316910 发表于 2023-7-7 10:38:45

王一之 发表于 2023-7-6 14:43
go.every-api.com

题库?

刷课接口

王一之 发表于 2023-7-7 23:42:06

1535316910 发表于 2023-7-7 10:38
刷课接口

没有
页: [1]
查看完整版本: Nginx服务器