OpenVPN 不与 nginx 共享端口

OpenVPN 不与 nginx 共享端口

我已将 OpenVPN 配置为将端口 443 上的非 VPN 流量发送到端口 4433 上的 nginx 服务器。当我访问https://域名.tld:4433它确实有效,尽管https://域名.tld(OpenVPN 在 TCP 443 端口上监听)导致“页面不可用”(Chrome 中为 ERR_CONNECTION_CLOSED)。

OpenVPN配置:

port 443
proto tcp
port-share localhost 4433

Nginx 配置:(实际上不需要,因为我确信它可以工作)

server {
    listen      1.2.3.4:4433;
    server_name domain.tld www.domain.tld;
    ssl         on;
    ssl_certificate      /home/rick/conf/web/ssl.domain.tld.pem;
    ssl_certificate_key  /home/rick/conf/web/ssl.domain.tld.key;
    error_log  /var/log/apache2/domains/domain.tld.error.log error;
    ...
}

答案1

这是我解决问题的方法:

  1. 检查 OpenVPN 是否在监听 443 TCP 端口。根据配置进行检查,以及端口检查服务。
  2. 将端口共享设置为端口共享 {IP} {PORT}

如何知道{IP}和{PORT}?

在 nginx 中:

server {
    listen      {IP}:{PORT};
}

在 Apache 中:

<VirtualHost {IP}:{PORT}>
    ServerName {IP} 
    ServerAlias {IP} 
// Could also be an hostname, hostname also work on OpenVPN port-share.
// When {IP} in the VirtualHost opening tag is "*", using localhost or 
// 127.0.0.1 or Public IP in OpenVPN, will fix the problem.
</VirtualHost>

希望这对你有帮助!

相关内容