Допустим, например, что я хочу разрешить подключения только к subdomain.mydomain.com; У меня это частично работает, но иногда он вступает в странный цикл с обменом клиентскими ключами, когда разрешен клиент Hello. Ах, чтобы сделать его еще более раздражающим, это самозаверяющий сертификат, и страница требует аутентификации, а HTTPS прослушивает нестандартный порт ... Так что взаимодействие с TCP / SSL Handshake будет сильно различаться для многих пользователей.
Является ли -m недавний правильный путь? Есть ли более изящный метод, чтобы разрешить полный поток TCP, когда строка увидена?
Вот что у меня есть:
#iptables -N SSL
#iptables -A INPUT -i eth0 -p tcp -j SSL
#iptables -A SSL -m recent --set -p tcp --syn --dport 400
#iptables -A SSL -m recent --update -p tcp --tcp-flags PSH,SYN,ACK SYN,ACK --sport 400
#iptables -A SSL -m recent --update -p tcp --tcp-flags PSH,SYN,ACK ACK --dport 400
#iptables -A SSL -m recent --remove -p tcp --tcp-flags PSH,ACK PSH,ACK --dport 400 -m string --algo kmp --string "subdomain.mydomain.com" -j ACCEPT
Да, я пытался обойти это с помощью твиков nginx, но я не могу заставить nginx вернуть 444 до того, как клиенту привет, если вы можете придумать способ достичь этого, я весь в ушах эээ, глаза.