【问题标题】:How to disable ssl certificate and only used to forward traffic on port 443 in Nginx?如何禁用 ssl 证书并仅用于转发 Nginx 中端口 443 上的流量?
【发布时间】:2019-02-02 03:04:09
【问题描述】:

Host A 有 https 服务 serviceA 并提供两个 IP 实现高可用。

例如Bose [ip1:443] 和 [ip2:443] 被路由到 serviceA

主机 B(没有 ssl_certificate 和 ssl_certificate_key)使用 Nginx 代理模块将请求代理到实际的 serviceA。 如何在没有ssl验证的情况下简单地将443端口流量转发到serviceA? 这是我的配置:

http {
  upstream backend {
    server [ip1]:443;
    server [ip2]:443;
  }

  server {
    listen       443;
    listen       [::]:443;

    location / {
        proxy_pass  https://backend;
    }

  }
}

【问题讨论】:

  • nginx 是一个 HTTP 服务器。如果你想转发原始 TCP 字节,你应该使用别的东西。
  • Nginx 做不到?
  • 两个 IP 实现高可用性 为什么?如果具有第二个 IP 的主机 B 只是将流量转发到主机 A,那么您将没有高可用性,因为如果主机 A 关闭,则无法正常工作。
  • @Andrew Henle,实际上我们有两台主机 B,通过 ECMP 将流量随机转发到其中一台主机。

标签: ssl nginx https iptables nginx-config


【解决方案1】:

试试:

ip6tables -t nat -A PREROUTING -d 2002:xxxx:9a21::1/128 -i sit6to4vip -p tcp --dport 443 -m statistic --mode random --probability .5 -j DNAT --to-destination 2002:xxxx:f6ea::1
ip6tables -t nat -A PREROUTING -d 2002:xxxx:9a21::1/128 -i sit6to4vip -p tcp --dport 443 -m statistic --mode random --probability .5 -j DNAT --to-destination 2002:xxxx:f6e9::1

ip6tables -t nat -A POSTROUTING -d 2002:xxxx:f6ea::1/128 -o sit6to4vip -p tcp --dport 443 -j SNAT --to-source 2002:xxxx:9a21::1
ip6tables -t nat -A POSTROUTING -d 2002:xxxx:f6e9::1/128 -o sit6to4vip -p tcp --dport 443 -j SNAT --to-source 2002:xxxx:9a21::1

没用

【讨论】:

    【解决方案2】:

    【讨论】:

    • iptables 能做到吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    • 2021-10-03
    • 2017-10-04
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    相关资源
    最近更新 更多