lua使用resty.http做nginx反向代理(https请求,docker容器化部署集群),一个域名多项目转发

这篇具有很好参考价值的文章主要介绍了lua使用resty.http做nginx反向代理(https请求,docker容器化部署集群),一个域名多项目转发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下载使用
链接:https://pan.baidu.com/s/1uQ7yCzQsPWsF6xavFTpbZg
提取码:htay
–来自百度网盘超级会员V5的分享

在根目录下执行:
# 从 github 上下载文件
git clone https://github.com/ledgetech/lua-resty-http.git
# 将 lua-resty-http/lib/ 下的 resty 文件夹上传至服务器一下目录下(lua-5.4.2安装目录下)
/lua-5.4.2/
# 此模块主要用来发送 http 请求
# 也可选用 socket.http

lua使用resty.http做nginx反向代理(https请求,docker容器化部署集群),一个域名多项目转发,lua,开发语言
ad_load.lua文件

ngx.header.content_type="application/json;charset=utf8"
local cjson = require("cjson")
local https = require 'resty.http'
local json = cjson:new()
--服务器一,域名拼接request_uri获得请求的路由和路由上的参数
-- local server_one_url = 'http://127.0.0.1:9059/index01';
-- local server_one_url = 'http://127.0.0.1:9059'..ngx.var.request_uri;
local server_one_url = ngx.var.url_ip..':'..ngx.var.url_port..ngx.var.request_uri;
local server_one_code = 'ONE_CODE';
-- ngx.say(server_one_url)
-- ngx.exit(ngx.OK)

--http get 请求方法
local function http_get(url)
    local http = https:new()
    local res, err = http:request_uri(url, {
        method = 'GET',
        headers = {
            ['Content-Type'] = 'application/json';
        }
    })
    if res.status == 200 then
        ngx.say(res.body)
    else
        -- ngx.say(res.status)
        ngx.say('服务器错误!')
    end
end

-- http post 请求方法
local function http_post(url, data)
    local http = https:new()
    local res, err = http:request_uri(url, {
        method = 'POST',
        body = data,
        headers = {
            ['Content-Type'] = 'application/json';
        }
    })
    if res.status == 200 then
        ngx.say(res.body)
    else
        ngx.say('服务器错误!')
    end
end

-- ngx.say(server_one_url)
-- ngx.say(ngx.var.request_method)
-- ngx.exit(ngx.OK)
if ngx.var.request_method == "GET" then
    --解析参数并做转发
    http_get(server_one_url)
elseif ngx.var.request_method == "POST" then
    --获取请求参数
    ngx.req.read_body()
    local data = ngx.req.get_body_data()
    --解析参数并做转发
    http_post(server_one_url, data)
end







    location / {
      if ($server_port = 9058 ) {
        # 定义使用内网ip,定义请求端口
        set $url_ip 'http://127.0.0.1';
        set $url_port '9059';
        content_by_lua_file /lua-5.4.2/ad_load.lua;
      }
    }

lua使用resty.http做nginx反向代理(https请求,docker容器化部署集群),一个域名多项目转发,lua,开发语言文章来源地址https://www.toymoban.com/news/detail-800380.html

到了这里,关于lua使用resty.http做nginx反向代理(https请求,docker容器化部署集群),一个域名多项目转发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx 开启https时反向代理http服务的问题

    当我们用nginx开启https时,反向代理一个本地的http服务,会遭遇跨域问题,报错 strict-origin-when-cross-origin ,导致很多资源无法加载。 这时只要在反向代理部分的配置文件中加入这一条语句即可:

    2024年02月14日
    浏览(19)
  • 使用了lua-resty-http库进行 爬虫

    lua-resty-http是一个基于OpenResty的HTTP客户端库,用于在Lua中进行HTTP请求和响应的处理。它提供了简单易用的接口,可以方便地进行网页抓取和爬虫开发。 使用lua-resty-http进行爬虫,需要先安装OpenResty和lua-resty-http库,并将其引入到Lua脚本中。然后,可以使用lua-resty-http库提供的

    2024年02月08日
    浏览(20)
  • 群晖如何使用反向代理,让docker服务(vaultwarden)可以使用https

    路由:爱快 服务器:群晖 服务:群晖的docker (vaultwarden) 解决问题 使用反向代理让docker可以使用https ① 设置路由器 ② 检测网络 要开upup的,我用的是爱快,我是开启全局内网的,不开启无法 自动端口转发,爱快的话比较方便 爱快支持 3322 oray dnspod 阿里 华为 cloudflare 我这

    2024年02月08日
    浏览(44)
  • 在docker中使用Nginx并实现反向代理

    使用Nginx反向代理,可以通过不同的子域名访问到不同服务器的端口上 下面来介绍怎么在Docker容器中使用Nginx反向代理。 1.安装Docker 确保你的系统上已经安装了Docker。具体可以Docker官方网站上找到适合你系统的安装指南。 2.创建一个新的Docker容器 首先,创建一个新的Docker容器

    2024年02月16日
    浏览(32)
  • nginx+lua配置,一个域名配置https,docker集群使用

    没安装kua的先安装lua 没有resty.http模块的,许配置 nginx+lua配置,一个域名配置https,docker集群使用,一个域名配置https管理整个集群 lua做转发(方向代理) 1、ad_load.lua文件 2、nginx配置,配置两个ssh端口 完整nginx代码 请求结果

    2024年01月18日
    浏览(27)
  • 使用 Docker 和 Nginx 反向代理访问 ChatGPT API

    在许多应用程序中,我们需要从一个外部服务中获取数据。然而,由于种种原因(例如跨域问题、API 访问限制等),我们可能无法直接从客户端访问这些服务。这时,反向代理可以成为我们的救星。在这篇文章中,我们将介绍如何使用 Docker 和 Nginx 反向代理访问 OpenAI API 接口

    2023年04月09日
    浏览(20)
  • Nginx 配置 HTTPS 过程(+反向代理)

    nginx配置HTTPS前置条件 我这里参考了一个网友的文章,有兴趣可以直达:手把手教你Nginx 配置 HTTPS 完整过程_somnus_小凯的博客-CSDN博客_nginx配置https 。 不建议只一端配置https,另一端不配置,因为浏览器会拦截并给你一个白眼: mixed-content 。大意是要你:  前端https页面中不能

    2023年04月08日
    浏览(20)
  • Nginx之正向代理与反向代理进阶(支持https)

    在【Nginx之正向代理与反向代理】一文中我们实现了将Nginx服务器作为正向代理服务器和反向代理服务器, 但美中不足的是仅支持http协议,不支持https协议 。 我们先看看看http和https的区别: http协议 :协议以明文方式发送数据,不提供任何方式的数据加密。不适合传输一些敏

    2024年02月13日
    浏览(18)
  • nginx 离线安装 https反向代理

    1.1 安装gcc和gcc-c++ 1.1.1下载依赖包 gcc依赖下载镜像地址: 官网:https://gcc.gnu.org/releases.html 阿里云镜像站:http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/ CentOS 镜像站点:https://vault.centos.org/7.5.1804/os/x86_64/Packages/ ​只需下载如下依赖即可: 1.1.2 上传依赖包 下载完成后,将依赖包上

    2024年02月02日
    浏览(18)
  • kkviewfile 实现nginx反向代理+https

    3.1 如果访问出错,并且报错信息是下图 两种解决方案 第一用我打包好的jar,下载替换就行 代码是 2021年7月6日,v4.0.0 版本 下载地址:链接: https://pan.baidu.com/s/1yqJDa75tokAWQhn_tfCOmA?pwd=ribv 提取码: ribv 第二你自己在gitee拉取代码进行处理 如果拉取中报错 error: RPC failed; curl 18 tr

    2024年02月11日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包