我的网站上有https,直到最近,我的政府决定阻止几乎所有的VPN协议,现在只有openconnect才能正常工作。
因此,我在服务器上安装和配置了openconnect,不幸的是它不允许我启动服务,因为我的nginx使用的是443端口(openconnect使用端口443),所以我从nginx中删除了https配置并运行openconnect服务。
现在,我也想在我的nginx上配置https。
我知道两个应用程序/服务不能正常使用一个端口。但是,我是否可以在nginx和openconnect上使用端口443,并拥有类似于haproxy、traefik或nginx之类的东西来监督它们,并使它们都理解一个VPN客户端或浏览器是否想连接?
编辑:我找到了这个网址,但我不知道这是不是我的问题。
发布于 2021-11-13 05:03:10
就个人而言,正如@amin所指出的,我发现在ocserv前面使用反向代理(如that或nginx)效果很好,但有一个缺点。如果您希望能够使用DTLS,并且您正在使用haproxy,则haproxy在默认情况下不会将UDP (由DTLS使用)输出,因此我最终使用haproxy来路由TCP连接,并让ocserv侦听UDP的主接口,就在另一个端口上。由于DTLS是在进行初始连接后协商的,所以通过ocserv声明端口用于协商,这似乎不是一个问题。
我的网络设置如下所示:
VPS BOX
|---------------------------------------------------------------------------|
| others *< ----+ |
| | vpn.<domain>.com rev proxy pass-thru to |
| |------@HA Proxy -----------| 127.0.1.1:443 |
| | | (SSL handled by ocserv) |
| [TCP 80 & TCP 443] | |
inet --> public IP - > 10.10.0.5 |---> 127.0.1.1 |
| [udp 44443] [tcp 443] |
| \ | |
| \ @ |
| \-------------------------------------=@ocserv listening on |
| tcp 127.0.1.1:443 & udp 10.10.0.5:44443 |
|---------------------------------------------------------------------------| https://askubuntu.com/questions/1031935
复制相似问题