nginx实践--nginx正向代理实现上网功能

試著忘記壹切 提交于 2020-01-10 15:04:09

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

nginx配置和介绍

正向和反向代理介绍

nginx不仅可以来做反向代理,也可以用来做正向代理(透明代理,代理上网)。

反向代理,外部机器通过网关访问网关后面服务器上的内容,网关起到了反向代理的功能,我们平时通过浏览器访问远程的web服务器大都是这样实现的。

正向代理,就是上面的过程反过来,我们平时说的代理上网,局域网中的用户通过网关做代理访问外部的网络。

nginx同样可以实现代理上网的功能。

nginx.conf配置如下:

user www;
worker_processes 1;
error_log /var/log/nginx/error.log debug;
 
events {
	use epoll;
	worker_connections 1024;
}
 
http {
	##增加dns解析resolver
	resolver 8.8.8.8;
	##增加无server_name名的server
	server {
		listen 8088;
		location / {
			##proxy_pass指令
			proxy_pass http://$http_host$request_uri;
		}
	}
}

nginx实现代理上网,有三个关键点必须注意,其余的配置跟普通的nginx一样

  • 1.增加dns解析resolver
  • 2.增加无server_name名的server
  • 3.proxy_pass指令

具体上网步骤:

1、找一台可以上网的服务器,安装nginx,然后按照上面配置好正向代理。

2、windows配置代理:

![im]()

3、Linux上配置代理:

1)wget下的代理设置 A、临时生效

set "http_proxy=http://[user]:[pass]@host:port/"
或
export "http_proxy=http://[user]:[pass]@host:port/"

执行完,就可以在当前shell 下使用wget程序了。

B、使用wget参数

wget -e "http_proxy=http://[user]:[pass]@host:port/" http://baidu.com

C、当前用户永久生效

创建$HOME/.wgetrc文件,加入以下内容:

http_proxy=代理主机IP:端口

配置完后,就可以通过代理wget下载包了。

注:如果使用ftp代理,将http_proxy 改为ftp_proxy 即可。

2)lftp下代理设置

使lftp可以通过代理上网,可以做如下配置:

echo "export http_proxy=proxy.361way.com:8888" > ~/.lftp

3)yum设置

编辑/etc/yum.conf文件,按如下配置

http_proxy=代理主机IP:端口
###匿名代理
proxy=http://yourproxy:8080/
###需验证代理
proxy=http://username:password@yourproxy:8080/

4)全局代理配置

编辑/etc/profile 或~/.bash_profile ,增加如下内容:

http_proxy=proxy.361way.com:8080
https_proxy=proxy.361way.com:8080
ftp_proxy=proxy.361way.com:8080
export http_proxy https_proxy ftp_proxy

5)socket代理配置

这里以两个常见的socket代理软件socks5 和 tsocks 为例:

A、tsocks代理

##在终端中:
sudo apt-get install tsocks
##修改配置文件:
sudo nano /etc/tsocks.conf

将其内容改成以下几行并保存退出:

#local表示本地的网络,也就是不使用socks代理的网络
local = 192.168.1.0/255.255.255.0
# SOCKS 服务器的 IP
server = 127.0.0.1
# SOCKS 服务版本
server_type = 5
#SOCKS 服务使用的端口
server_port = 9999

运行软件:

用 tsocks 运行你的软件很简单,在终端中:tsocks 你的软件 ,如tsocks wget url

B、socks5代理

安装socks客户端工具runsocks(正常安装socks5后自带)。在libsocks5.conf文件里加入所要使用的代理服务器。配置完成,可以通过如下命令运行测试:

runsocks wget -m [http://site1 | ftp://site2]
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!