首页 > 系统相关 >使用NGINX或者Openresty构建正向和方向代理服务器

使用NGINX或者Openresty构建正向和方向代理服务器

时间:2023-09-15 18:34:08浏览次数:41  
标签:Openresty 代理 代理服务器 NGINX connect https 正向 下载 proxy

本文提供正向代理和反向代理服务器构建方法,但仅仅提供windows下的具体实例。

1、编译

这一步对操作者要求非常高,建议跳到第2步。

(1)下载OpenResty最新源码包

https://openresty.org/download/openresty-1.19.3.1.tar.gz

(2)下载正向代理源码包,注意如果openresty是最新版本,则正向代理也下载最新版本

https://github.com/chobits/ngx_http_proxy_connect_module/releases

(3)下载msys2

https://www.msys2.org

(4)下载依赖库

打开文件:OpenResty源码包/util/build-win32.sh

这里面列出了当前OpenResty版本所需的依赖库,需要手动下载,例如linux下执行如下指令,window下直接输入wget后面的地址下载:

# wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz

# wget http://zlib.net/zlib-1.2.11.tar.gz

# wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz

注意版本一定要对应正确,否则无法编译

(5)下载其他依赖工具strawberryperl

https://strawberryperl.com/

(6)下载编译工具,或者IDE

推荐使用gcc编译器,IDE可以使用visual studio,eclipse等。

2、下载编译好的压缩包

链接:https://pan.<百度网盘的地址>.com/s/1tU649dzMSfVVZ5RD_Wru2g?pwd=xojg

提取码:xojg 

3、解压到根目录

最好解压到c盘根目录,如下图:

使用NGINX或者Openresty构建正向和方向代理服务器_正向代理

4、配置反向代理

配置文件在conf目录,名为nginx.conf

首先在http下录入:

upstream oa_web {
	server 172.16.100.213:9001;
}

之后修改server的location:

# 反向代理
    location / {
		proxy_pass http://oa_web;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

5、配置正向代理

在最后一个大括号之前新增一个server段:

#https正向代理
server {
	listen 8080;
	#指定DNS服务器IP地址
	resolver 8.8.8.8;
	resolver_timeout 5s;
	#正向代理转发https请求
	proxy_connect;
	proxy_connect_allow 443 563;
	proxy_connect_connect_timeout 10s;
	proxy_connect_read_timeout 10s;
	proxy_connect_send_timeout 10s;
	location / {
		proxy_pass $scheme://$host$request_uri;
		proxy_set_header Host $http_host;
		proxy_buffers 256 4k;
		proxy_max_temp_file_size 0;
		proxy_connect_timeout 30;
	}
}

6、测试

(1)反向代理

直接输入代理服务器地址,如下:

使用NGINX或者Openresty构建正向和方向代理服务器_正向代理_02

(2)正向代理

先配置代理服务器:

使用NGINX或者Openresty构建正向和方向代理服务器_源码包_03

然后输入微信开放平台地址:https://open.weixin.qq.com/

使用NGINX或者Openresty构建正向和方向代理服务器_正向代理_04

标签:Openresty,代理,代理服务器,NGINX,connect,https,正向,下载,proxy
From: https://blog.51cto.com/u_5526964/7484705

相关文章

  • Nginx 限流及WAF
    Nginx提供了两种限流手段:一是控制速率,二是控制并发连接数。控制速率是按:limit_req_zone来限制单位时间内容的请求书,即速率限制。控制并发数:利用limit_conn_zone和limit_conn两个指令来控制并发数.1.ngx_http_limit_conn_modulengx_http_limit_conn_modul:基于key($binary_re......
  • nginx修改默认首页,且转发对应请求
     下载nginxhttps://nginx.org/en/download.html 这里是windows版本 nginx-1.25.2下载zip包解压丢到D盘,修改配置D:\nginx-1.25.2\conf\nginx.conf修改监听端口,修改默认网页 复制你的前端网页到html文件夹内,修改root节点的默认首页监听相对路径并转发 ......
  • nginx 核心配置文件
    nginx.conf核心配置文件**1.设置worker进程的用户,指的linux中的用户,会涉及到nginx操作目录或文件的一些权限,默认为nobody**userroot;2.worker进程工作数设置,一般来说CPU有几个,就设置几个,或者设置为N-1也行worker_processes1;3.nginx日志级别debug|info|notice......
  • Linux基础39 nginx动静分离, nginx资源分离, rewrite概述
    一、动静分离动静分离,通过中间件将动静分离和静态请求进行分离;通过中间件将动态请求和静态请求,可以减少不必要的请求消耗,同时能减少请求的延时。通过中间件将动态请求和静态请求分离,逻辑图如下: 二、配置动静分离1.单台机器的动静分离[[email protected]]#vimwordpre......
  • nginx 如何配置指向带有hash值的index.html文件?
    要在Nginx配置中指向带有哈希值的index.html文件,可以使用通配符(*)来匹配文件名中的哈希部分。以下是一个示例配置:location/{root/path/to/html/demo;indexindex.html;try_files$uri$uri//index.html;location~^/index\.(\w+)\.html${#使用......
  • docker 配置nginx启动
    docker中nginx常用临时地址conf:/etc/nginx/nginx.confhtml:/usr/share/nginx/htmllog:/var/log/nginx启动临时容器:dockerrun--namemy-nginx-dnginx在本地新建文件目录如上图dockercpmy-nginx:/etc/nginx/nginx.conf/usr/local/docker/nginx/conf/nginx.co......
  • https nginx安装证书 ssl证书安装 nginx ssl
    ]#cd/etc/nginx/拷贝文件:#rz---上传ssl配置文件,keyandcrt添加文件:cd/usr/share/nginx/htmlrzcd/etc/nginx/conf.dtouchxxxkeji.confvimxxxkeji.conf加入:--server{listen443ssl;server_namewww.xxxkeji.com;......
  • Nginx神奇的499竟然不在HTTP响应码标准内?快来了解一下!
    1前言高性能的HTTP和反向代理服务器,Nginx用来:搭建WebServer作负载均衡供配置的日志字段丰富,从各类HTTP头部到内部性能数据都有Nginx的访问日志中,存在499状态码的日志。但常见4xx状态码只有400、401、403、404等,499并未在HTTPRFC文档。这499错误日志,在流量较大场景下,特别......
  • Nginx中实现逻辑运算
    nginx的配置中不支持if条件的逻辑与&&逻辑或||运算,而且不支持if的嵌套语法,否则会报下面的错误:nginx:[emerg]invalidcondition。我们可以用变量的方式来间接实现。要实现的语句:if($arg_unitid=42012&&$uri~/thumb/){echo"www.ttlsa.com";}如果按照......
  • nginx常用配置和nginx镜像验证配置
    目的总结项目中常用的nginx配置,然后通过docker构建一个nginx镜像来快速使用和验证。目录结构 nginx配置nginx.conf文件:usernginx;worker_processesauto;error_log/var/log/nginx/error.lognotice;pid/var/run/nginx.pid;events{worker_connecti......