Giter VIP home page Giter VIP logo

Comments (4)

agentzh avatar agentzh commented on September 14, 2024 1

@hololoev It's not the Host HTTP request header at all. It is the TLS extension SNI. It's completely normal for an SSL client to not use this TLS extension or jut not provide the SNI name.

The only way to be 100% sure is to inspect the SSL client_hello packets directly.

from lua-resty-core.

agentzh avatar agentzh commented on September 14, 2024

@hololoev Are you 100% sure the problematic SSL connection indeed provides an SNI name? The line number you referenced is clearly for the case that there is no SNI name present in the SSL client's request packet.

from lua-resty-core.

agentzh avatar agentzh commented on September 14, 2024

@hololoev To support those older SSL clients with no SNI support, you have to use different server IP addresses for each different SSL domains. There is just no other way around this.

from lua-resty-core.

hololoev avatar hololoev commented on September 14, 2024

@agentzh I'm sure on 100%, but I'm not sure that it's a bug. Mb we do something wrong. So, right now we have 2 different servers. Old one uses typical nginx scheme - one config file for one client.

Like:

{
server_name ...
cert ...
key ...
...
etc
}

And new one uses lua ssl cert management. The part of this manager is:

local ssl = require('ngx.ssl')

local rawServerName, snerr = ssl.server_name() -- error here
if rawServerName == nil then
  ngx.log(ngx.ERR, "LUA-SSL-ERR rawServerName is nil. " .. inspect(snerr) ) -- snerr is nil too
  return ngx.exit(405)
end

The old is working fine. And as I understand it means that all necessary headers are present in request. But new (only for yamoney and only for several IPs) doesn't. Old and new servers use the same IPs.

The same lua ssl manager works with about 2000 different websites, but we have a problem only with several.

Is there a way to dig deeper?

from lua-resty-core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.