nginx服务器代理上网

服务器代理上网

服务器很强,但是无法连接网络,只能够笨拙地手动上传文件,有时还会因为操作系统不一样无法兼容。。。

让我们来用自己的电脑搭建代理服务器,让服务器也能上网吧!

|< 使用工具:nginx >|

|< 本地环境:macOS 14.0 (23A344) >|

|< 服务器环境:Ubuntu >|

在自己电脑上的操作

安装nginx

下载nginx,版本号不做规定,我下载的是1.19.9,下文用1.19.9为例

wget http://nginx.org/download/nginx-1.19.9.tar.gz
tar -xzf nginx-1.19.9.tar.gz

打补丁:根据你选择的nginx版本,找到对应版本的patch

git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
cd nginx-1.19.9
patch -p1 < ../ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_1018.patch

安装依赖

cd ..
wget https://www.openssl.org/source/openssl-3.0.13.tar.gz
tar -xzf openssl-3.0.13.tar.gz

wget https://sourceforge.net/projects/pcre/files/pcre/8.35/pcre-8.35.tar.gz
tar -xzf pcre-8.35.tar.gz

wget https://zlib.net/zlib-1.3.1.tar.gz
tar -xzf zlib-1.3.1.tar.gz

config

cd nginx-1.19.9
sudo ./configure --with-openssl=../openssl-3.0.13 --with-pcre=../pcre-8.35 --with-zlib=../zlib-1.3.1 --add-module=../ngx_http_proxy_connect_module --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads
sudo make && make install

验证nginx是否安装成功

/usr/local/nginx/sbin/nginx -V

输出如下

nginx version: nginx/1.19.9
built by gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) 
built with OpenSSL 1.1.1  11 Sep 2018
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-pcre=../pcre-8.35 --with-openssl=../openssl-1.1.1 --add-module=../ngx_http_proxy_connect_module --with-zlib=../zlib-1.3

提示

/usr/local/nginx/sbin/nginx   执行文件路径
/usr/local/nginx/conf/nginx.conf    配置文件路径

配置nginx.conf文件

cd /usr/local/nginx/conf/
sudo vim nginx.conf

更改为:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server{
			listen 8000;
			resolver 114.114.114.114;
			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 http://$host;
	    		proxy_set_header Host $host;
			}
	}
}
sudo /usr/local/nginx/sbin/nginx -t //检查.config修改是否符合语法
sudo /usr/local/nginx/sbin/nginx -s reload //重启 使其生效

如果reload命令执行报错

nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)或者
nginx: [error] invalid PID number “” in “/usr/local/nginx/logs/nginx.pid”
你可能需要先执行下面的代码⬇️

sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

在服务器上的操作

IP 请查看你自己的电脑:

port 是 这里 图片中listen后面的数字

比如我设置的是8000

pip install --proxy=http://ip:8000 package_name
sudo apt install -o Acquire::http::Proxy="http://ip:8000" package_name
wget --proxy=on --proxy=http://ip:8000 download_link
curl -x http://ip:8000 download_link
git config --global http.proxy http://ip:8000

https://charlesfrazier.github.io/tech/proxy.html:我的主页文章原版

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

water-pill

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值