- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章使用Nginx代理上网的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
我一般都是使用 nginx 做反向代理 tomcat 和其他应用的,其实 nginx 也是支持正向代理的 。
所谓正向代理就是内网用户通过网关访问外部资源,就是电脑上网时浏览器设置下 http 代理地址访问互联网 。
而反向代理就是外部用户通过网关访问内网资源,通俗讲就是,你的网站跑在内网的 8080 端口,别人能够通过 80 端口来访问它 。
http 代理配置 。
1
2
3
4
5
6
7
8
9
10
11
|
# 正向代理上网
server {
listen 38080;
# 解析域名
resolver 8.8.8.8;
location / {
proxy_pass $scheme:
//
$http_host$request_uri;
}
}
|
浏览器配置下代理 IP 和端口,然后访问 http://www.ip138.com ,可以发现 IP 已经变化了,说明生效了 。
然而访问 https 网站却打不开,这是由于原生 nginx 只支持 http 正向代理,为了 nginx 支持 https 正向代理,可以打 ngx_http_proxy_connect_module 补丁+ ssl 模块支持 。
添加 https 代理模块 。
这里需要重新编译 nginx,需要查看当前 nginx 的版本和编译选项,然后去官网下载同版本的 nginx 源码进行重新编译 。
1
|
/usr/local/nginx/sbin/nginx
-V
|
1
2
|
wget http:
//nginx
.org
/download/nginx-1
.15.12.
tar
.gz
tar
-zxvf nginx-1.15.12.
tar
.gz
|
下载模块 ngx_http_proxy_connect_module 。
1
|
git clone https:
//github
.com
/chobits/ngx_http_proxy_connect_module
|
打补丁,对 nginx 源码修改,这一步很重要,不然后面的 make 过不去 。
1
|
patch -d
/root/nginx-1
.15.12/ -p 1 <
/root/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite
|
在原有配置后追加模块,make 后注意不要 install 。
1
2
3
4
5
|
cd
/root/nginx-1
.15.12/
.
/configure
--with-http_stub_status_module --with-http_ssl_module --with-
file
-aio --with-http_realip_module --add-module=
/root/ngx_http_proxy_connect_module/
make
mv
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx
.bak
cp
/root/nginx-1
.15.12
/objs/nginx
/usr/local/nginx/sbin/
|
更改配置文件如下,然后启动服务 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# 正向代理上网
server {
listen 38080;
# 解析域名
resolver 8.8.8.8;
# ngx_http_proxy_connect_module
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:
//
$http_host$request_uri;
}
}
|
总结 。
代理感觉不是很稳定,有时候会打不开,尤其是 https 网站。访问国外网站千万不要这样搞,这里只是为了熟悉下 nginx 的正向代理功能 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:http://blog.tmaize.net/posts/2019/05/12/使用nginx代理上网.html 。
最后此篇关于使用Nginx代理上网的方法的文章就讲到这里了,如果你想了解更多关于使用Nginx代理上网的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
需要检查并修改如下的四个文件,如果文件不存在,则手工创建该文件: 1. /etc/hosts 2./etc/resolv.conf 3./etc/defaultrouter 4./etc/n
我正在尝试在 Anrdoid M 中执行 HTTP 请求。但每次我收到错误: java.lang.SecurityException: Permission denied (missing INTER
我正在 android 上尝试 twitter4j(这两个都是新的),用 java 编写了一个简单的过程只是为了测试它。它下载用户时间线并打印到屏幕上。 我修改了 Android 的代码,但当我尝试下
我正在开发一个使用 WIFI 连接到硬件设备的应用程序。基本上,该设备会创建一个用于与其通信的 wifi 网络。 问题是这个设备不是路由器,不提供互联网连接。因此,当我使用 wifi 连接连接到此设备
首先,我正在寻找使用私有(private) API 的资源。这是一个企业应用程序,永远不会去应用商店我需要尽可能多地让用户进行配置。 也就是说,我有一个设备,iPad 将连接到该设备并通过该设备提供的
我是一名优秀的程序员,十分优秀!