我在的地方没有外网,但是有一台内网机器能连外网,想通过那台内网机器代理上网。按照网上 nginx 正向代理的配置,如下:
user nobody;
worker_processes 1;
error_log logs/error.log info;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
resolver xx.xx.xx.xx;
listen 22222;
location / {
proxy_pass $scheme://$http_host$request_uri;
proxy_set_header HOST $http_host;
proxy_buffers 256 4k;
proxy_max_temp_file_size 0;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_next_upstream error timeout invalid_header http_502;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;
}
}
}
然后我的 windows 主机,代理设置成内网机器的 ip 和端口,发现 400
access 日志如下:
xx.xx.xx.xx - - [21/Apr/2019:22:44:14 +0800] "CONNECT www.baidu.com:443 HTTP/1.1" 400 173 "-" "-"
error 日志如下:
2019/04/21 22:44:14 [info] 11993#0: *360 client sent invalid request while reading client request line, client: xx.xx.xx.xx, server: , request: "CONNECT www.baidu.com:443 HTTP/1.1"
请教一下,是哪儿配置的不对吗?
1
ochatokori 2019-04-23 06:25:34 +08:00 via Android
不如在你那个能上外网的内网机器搭个 pptp 服务器,然后另外一台机器通过内网连 vpn 上外网就好了
你的情况和我一样 我们学校宿舍区晚上断外网不断内网,我通过内网连非宿舍区的机器 vpn 上外网 |
2
msg7086 2019-04-23 08:01:24 +08:00
Nginx 自带的正向代理只能 HTTP 协议啊,你这已经是 TLS 协议了,怎么做正向。
是不是看了些不负责任的教程啊 = = |
3
iridescent0rsy 2019-04-23 08:44:13 +08:00 via Android
装个 $$ 呗,配置简单,以前这么干过
|
4
ik 2019-04-23 08:46:43 +08:00 via iPhone
Squid 也成
|
5
wwhc 2019-04-23 09:45:21 +08:00
换 Squid 或 Apache,Nginx 功能不全
|