type
status
date
slug
summary
tags
category
icon
password
Nginx正向代理
nginx正向代理需要借助一个模块:
ngx_http_proxy_connect_module
该模块的源码地址
我们需要先下载这个源码,然后通过编译的方式将其安装到nginx里。nginx安装方式有很多,比如通过apt直接安装,或者使用docker等。本文使用的nginx安装方式是源码编译安装。
步骤
1. 下载ngx_http_proxy_connect_module模块
直接clone其github仓库即可。
2. 下载nginx (v1.24.0)
安装nginx前,你可能需要一些前置的准备:
- 安装gcc
- 安装pcre (正则库)
- openssl
3. 打补丁
这里我使用nginx1.24.0,需要的补丁是 proxy_connect_rewrite_102101.patch。
如果你使用其他nginx版本,可以在ngx_http_proxy_connect_module模块的github仓库查看对应的补丁。只需要将上述 'proxy_connect_rewrite_102101.patch' 替换为对应版本的补丁即可。
4. 编译nginx源码,安装nginx
通过编译安装的nginx主目录位置在: /usr/local/nginx 下
5. 编辑配置文件,启用正向代理
6. 配置代理
在win上配置代理,填入云主机的ip地址和端口即可。
已经安装了nginx?
上面是从头开始安装nginx的例子。 如果你的云主机上已经存在了nginx,但是不想重装,可以通过平滑升级方式实现。
步骤
1. 查看当前nginx配置项
记住
configure arguments:
后面的内容, 我们需要保留这些 配置项,这样才不会影响你原来的nginx2. 配置新的配置项
进入新下载的nginx源码目录, 通过configure配置新的配置项,这个配置项会覆盖掉原来的配置。因此把原来的 配置加上,再添加你想要的 其他模块。
3. 复制二进制文件
将 objs 目录下,编译好的nginx二进制文件复制到nginx的安装目录下的/sbin里。
4. 升级nginx
回到源码的目录,执行make upgrade指令
如果在执行make upgrade指令时报错: make: *** [Makefile:22:upgrade] 错误 1
尝试先kill掉原来的nginx进程,然后使用绝对路径来启动新的nginx:
之后再执行 make upgrade 应该不会有问题了。
5. 配置nginx.conf
安装完ngx_http_proxy_connect_module模块后,剩下的就是配置nginx.conf了,和上面一样,不再赘述。
Loading...