项目场景:

提示:windows10 20H1
nginx 443 proxy server_name to softether ssl


xxx域名nginx部分配置文件

 server {#         listen 443 ssl;#         server_name sstp.xxx.xxx;#         access_log  /var/log/nginx/sstphost.access.log  main;#          ssl_certificate /etc/nginx/conf.d/fullchain.crt;#         ssl_certificate_key  /etc/nginx/conf.d/private_all.key;#         ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;#         ssl_session_cache    shared:SSL:1m;#         ssl_session_timeout  5m;#         ssl_ciphers   ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法#         ssl_prefer_server_ciphers  on;#         location / {
#                 # proxy_pass https://127.0.0.1:5555/;
#               proxy_pass  sstpbackend;  #只能使用分流模式不然400#            proxy_http_version 1.1; #代理使用的http协议
#                 #反向代理,#            proxy_set_header Host $host;#            proxy_set_header X-Real-IP $remote_addr;#            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;#            fastcgi_param HTTPS $https if_not_empty;#            proxy_set_header X-Forwarded-Proto https;#         }#          # 拦截websocket请求
#         location /websocket {
#            proxy_pass http://127.0.0.1:5555;
#            proxy_http_version 1.1;
#            proxy_set_header Upgrade $http_upgrade;
#            proxy_set_header Connection "upgrade";
#         }}

问题描述:

由于本地系统网络终止, the network connection was aborted by the local system nginx 在服务器中调试:

 tcpdump -i eth0 tcp  port 443  -v
发现收到了数据,所以不是防火墙的原因

在 nginx中配置中 加入 access_log /var/log/nginx/sstphost.access.log main;
日志记录到了

 [26/May/2021:11:00:04 +0800] "SSTP_DUPLEX_POST /sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}/ HTTP/1.1" 400 157 "-" "-" "-"

400错误

sstp window也可以开启log日志,好像是在适配器哪里配置。


原因分析:

百度一下,nginx 说 content-length 过大,所以400

也有的说sstp 要full stack 的代理才能解决


解决方案:

  • 方案1:找个能full stack. 像sniproxy。 不想换代理。不用
  • 方案2:修改长度值。没试过。
  • 方案3:nginx的stream模式。这个可以成功,但不能用server_name区别。不能域名区别。因为https在应用层,而stream在网络层
  • 方案4:使用nginx的ngx_stream_ssl_preread_module模块,with-stream-ssl-preread-module原理是先到应用层拿到一些如域名信息,再回网络层转发。不过这是1.9版本之后才能的功能
  • 方案5:直接在window里使用域名加端口访问如xxx.xxx:5555。 一样可以。多打几个字而已。

/ngx_stream_core_module
ngx_stream_ssl_module
ngx_http_map_module

测试配置nginx -t -c /etc/nginx/nginx.conf
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
map  是在http结构里是$http_host,在stream里是 ?
map $ssl_preread_server_name $name{sstp.xxx.xxx   sstpbackend;
}upstream sstpbackend {#  hash $remote_addr consistent;server 127.0.0.1:5555;           }

stream是顶层结构?

systemctl restart nginx

ok

但这出现了另一个问题:证书的CN名称与传递的值不匹配。 xx.i.a 不匹配 i.a 浏览器输入https:// xx.i.a 显示不安全。
原因,map 函数没起作用。 泛域名不起作用。nginx还是用其他域名证书。ssl_pread on 只能在stream模块?
在代理下,443又被其它证书占用,softether证书完全用不上。。。
待解决.

由于本地系统网络终止sstp nginx https 代理相关推荐

  1. 服务器本地系统 网络受限,windows10网络受限怎么解决_win10本地系统网络受限解决方法...

    win10是一款广泛普及.性能较为全面的操作系统,有用户在使用win10系统的时候,出现win10系统网络受限的情况,那么遇到这种情况该怎么办?下面小编为大家带来解决win10本地系统网络受限的方法. ...

  2. nginx https代理http ,以及代理外网

    server{listen 5002 ssl; #nginx服务端口server_name localhost; #域名root "D:/phpstudy_pro/WWW";ind ...

  3. 服务主机本地系统占cpu_如何通过“服务主机:本地系统(网络受限制)”解决CPU使用率过高的问题

    服务主机本地系统占cpu On some Windows 10 PCs, the "Service Host: Local System (Network Restricted)" ...

  4. windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改

    以一个redis服务为例: 一个redis注册服务后一般是网络服务账户,但是当系统不存在网络服务账户时,就会导致redis服务无法正常启动.接下来修改redis服务的登录身份. cmd下输入如下命令: ...

  5. 计算机网络本地连接被禁用说明什么,win10系统网络被禁用重新启用本地连接的设置技巧...

    win10系统使用久了,好多网友反馈说关于对win10系统win10系统网络被禁用重新启用本地连接的操作方法设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统win10系统网络被 ...

  6. Windows 服务介绍(本地系统、网络服务、本地服务以及相关的power shell命令

    一.Windows服务概述 服务与进程 Windows服务是指系统自动完成的,不需要和用户交互的过程,可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何 ...

  7. Win10系统,用C++调用OpenCV接口,播放本地视频文件,播放本地和网络摄像头

    1 前言 前边2篇文章介绍了在WIN10系统上,分别用C++和Python调用OpenCV接口,加载和显示一张静态图片.本篇我们来看一下,用C++如何调用OpenCV接口,打开和播放本地视频文件,打开 ...

  8. 5G系统——本地数据网络(LADN)

    Local Area Data Network(LADN):本地数据网络 LADN service area:本地数据网络服务区 UE只有本地数据网络的服务区才能通过连接本地数据网络的PDU会话访问本 ...

  9. Linux系统网络基础

    Linux系统网络基础 网络管理 什么是网络 网络就是把分布在不同地理位置上的主机,通过传输介质(网线.卫星等)连接起来,通过网络协议实现主机之间数据传输与共享的目的. 网络的特点 分布式 跨区域 数 ...

最新文章

  1. java 获取java文件路径_Java怎么获取相对路径下所有的.java文件的信息
  2. NS安装问题收集(2)
  3. html_5_小作业1_超链接练习
  4. bzoj 3209: 花神的数论题
  5. SAP Spartacus list item点击之后的detail页面跳转
  6. query的list()和iterate()区别 面试题
  7. 什么是Apache Spark?这篇文章带你从零基础学起
  8. 如何制作一个360度全景
  9. 为什么选择 npm script?
  10. java瞎子_Java学习路线,及各方面知识点
  11. 基于Ajax的应用程序架构汇总(一) (转自CSDN)
  12. 广东自考计算机专业在校生,2020年4月广东自考计算机及应用专业计划及课程设置(B080702本科)...
  13. 牛客网 牛客小白月赛1 A.简单题-控制输出格式setiosflags()函数+setprecision()函数
  14. 联想 m73 黑苹果 软路由 esxi AIO
  15. 梦网云科技的短信接口怎么样,真实体验
  16. ARP项添加失败:请求的操作需要提升 ARP项添加失败:拒绝访问
  17. 黑产用“未来武器”破解验证码
  18. mongodb可视化工具 mac版 Studio 3T破解
  19. python二重积分_用python求一重积分和二重积分的例子
  20. html 萤火虫特效,jquery萤火虫飞舞动画特效插件

热门文章

  1. PGSQL修改在使用中的数据库名称
  2. luo's oj P1731数列
  3. C语言中rand函数的运用以及说明
  4. rand在c语言那一个函数库,C语言中rand()函数及time库相关
  5. Linux之Vim常用操作
  6. uni-app把一个页面当做是子组件来用。这个页面既可以单独的显示也可以作为组件用。
  7. java实现邮件发送,内网无法访问外网使用DMZ区代理
  8. android studio 调试手机模拟器找不到
  9. [附源码]JAVA+ssm化妆品销售购物系统(程序+Lw)
  10. 四招教你无线电通讯工程现场天线驻波比测试