|
|
@ -49,9 +49,16 @@ http { |
|
|
stream { |
|
|
stream { |
|
|
|
|
|
|
|
|
log_format proxy '$time_iso8601|$remote_addr|$ssl_preread_server_name' |
|
|
log_format proxy '$time_iso8601|$remote_addr|$ssl_preread_server_name' |
|
|
'|$bytes_received|$bytes_sent|$session_time'; |
|
|
'|$bytes_received|$bytes_sent|$session_time | $server_addr'; |
|
|
|
|
|
|
|
|
access_log /www/wwwlogs/tcp-access.log proxy; |
|
|
log_format proxy_stream '$remote_addr [$time_local] ' |
|
|
|
|
|
'$protocol $status $bytes_sent $bytes_received ' |
|
|
|
|
|
'$session_time "$upstream_addr" ' |
|
|
|
|
|
'"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time" ' |
|
|
|
|
|
' $ssl_preread_server_name $server_addr'; |
|
|
|
|
|
|
|
|
|
|
|
access_log /www/wwwlogs/tcp-access.log proxy_stream; |
|
|
|
|
|
#access_log /www/wwwlogs/tcp-access.log proxy; |
|
|
open_log_file_cache off; |
|
|
open_log_file_cache off; |
|
|
|
|
|
|
|
|
# 加一组 map,根据规则过滤 $ssl_preread_server_name (也就是请求的 SNI) |
|
|
# 加一组 map,根据规则过滤 $ssl_preread_server_name (也就是请求的 SNI) |
|
|
@ -63,13 +70,13 @@ stream { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
server { |
|
|
server { |
|
|
resolver 1.1.1.1; |
|
|
resolver 127.0.0.1; |
|
|
listen 443; |
|
|
listen 443; |
|
|
|
|
|
listen [::]:443; |
|
|
|
|
|
#include /etc/nginx/ipwhitelist.conf; |
|
|
|
|
|
#deny all; |
|
|
|
|
|
proxy_bind $server_addr transparent; |
|
|
ssl_preread on; |
|
|
ssl_preread on; |
|
|
include /etc/nginx/ipwhitelist.conf; |
|
|
|
|
|
deny all; |
|
|
|
|
|
# 只代理经过 SNI 过滤的流量, |
|
|
|
|
|
# 其他流量都被丢入不存在的地址 |
|
|
|
|
|
proxy_pass $filtered_sni_name:443; |
|
|
proxy_pass $filtered_sni_name:443; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|