Merge pull request #64 from theta42/certs

Fixed nginx conf issue
This commit is contained in:
2024-08-07 21:34:58 -04:00
committed by GitHub
5 changed files with 20 additions and 23 deletions
+4 -1
View File
@@ -9,7 +9,10 @@ const socket = new SocketServerJson({
socketFile: conf.socketFile, socketFile: conf.socketFile,
onData: function(data, clientSocket) { onData: function(data, clientSocket) {
try{ try{
let parentHost = Host.lookUp(data['domain']) || {host: 'none'}; console.log('socket lookup', data)
let parentHost = Host.lookUp(data['domain']);
console.log('socket found host', parentHost);
if(!parentHost) return clientSocket.write(JSON.stringify({}));
if(!parentHost.wildcard_parent){ if(!parentHost.wildcard_parent){
parentHost.wildcard_parent = parentHost.host; parentHost.wildcard_parent = parentHost.host;
Host.addCache(data['domain'], parentHost); Host.addCache(data['domain'], parentHost);
+4 -10
View File
@@ -321,11 +321,6 @@ class Host extends Table{
while(!this.__lookUpIsReady) await new Promise(r => setTimeout(r, 5)); while(!this.__lookUpIsReady) await new Promise(r => setTimeout(r, 5));
return true; return true;
} }
static test(pass){
return `yes ${pass}`
}
} }
@@ -335,19 +330,17 @@ class Cached extends Table{
'host': {isRequired: true, type: 'string', min: 3, max: 500}, 'host': {isRequired: true, type: 'string', min: 3, max: 500},
'parent': {isRequired: true, type: 'string', min: 3, max: 500}, 'parent': {isRequired: true, type: 'string', min: 3, max: 500},
} }
} }
(async function(){ (async function(){
await Host.buildLookUpObj(); await Host.buildLookUpObj();
})() })();
module.exports = {Host: ModelPs(Host)}; module.exports = {Host: ModelPs(Host)};
(async function(){ (async function(){
try{ try{
// await Host.lookUpReady(); await Host.lookUpReady();
// let res = await Host.create({ // let res = await Host.create({
// host: '*.test.holycore.quest', // host: '*.test.holycore.quest',
// ip: '192.168.1.47', // ip: '192.168.1.47',
@@ -360,7 +353,8 @@ try{
// console.log('IIFE res:\n', res) // console.log('IIFE res:\n', res)
// console.log(Host.test(55)) // console.log(Host.test(55))
// console.log(await Host.listDetail()) console.log(await Host.list())
console.log(await Cached.listDetail())
// console.log('IIFE lookup:', Host.lookUp('bld3324sdf.test.holycore.quest')) // console.log('IIFE lookup:', Host.lookUp('bld3324sdf.test.holycore.quest'))
+1 -1
View File
@@ -54,7 +54,7 @@
host['wildcard_text_bg'] = 'success'; host['wildcard_text_bg'] = 'success';
host['wildcard_text'] = undefined; host['wildcard_text'] = undefined;
} }
if(host['wildcard_status'].includes('failed')){ if(host['wildcard_status'] && host['wildcard_status'].includes('failed')){
host['wildcard_text_bg'] = 'danger'; host['wildcard_text_bg'] = 'danger';
} }
+5 -5
View File
@@ -25,7 +25,7 @@ http {
auto_ssl = (require "resty.auto-ssl").new() auto_ssl = (require "resty.auto-ssl").new()
auto_ssl:set("storage_adapter", "resty.auto-ssl.storage_adapters.redis") auto_ssl:set("storage_adapter", "resty.auto-ssl.storage_adapters.redis")
auto_ssl:set("allow_domain", function(domain) auto_ssl:set("allow_domain", function(domain)
return ngx.req.toAllow return ngx.ctx.toAllow
end) end)
auto_ssl:set("request_domain", function(ssl, ssl_options) auto_ssl:set("request_domain", function(ssl, ssl_options)
@@ -57,10 +57,10 @@ http {
return ngx.exit(598) return ngx.exit(598)
end end
local res, err = red:hgetall("proxy_host_"..domain) local res, err = red:hgetall("proxy_Host_"..domain)
local res = red:array_to_hash(res) local res = red:array_to_hash(res)
ngx.req.targetInfo = res ngx.ctx.targetInfo = res
if not res["ip"] then if not res["ip"] then
if connect("/var/run/proxy_lookup.socket") then if connect("/var/run/proxy_lookup.socket") then
@@ -76,7 +76,7 @@ http {
end end
end end
ngx.req.targetInfo = res ngx.ctx.targetInfo = res
if not res["ip"] then if not res["ip"] then
ngx.log(ngx.ERR, "no host found for key ", domain) ngx.log(ngx.ERR, "no host found for key ", domain)
@@ -84,7 +84,7 @@ http {
return false return false
end end
ngx.req.toAllow = true; ngx.ctx.toAllow = true;
if res['wildcard_parent'] then if res['wildcard_parent'] then
return res['wildcard_parent'], err return res['wildcard_parent'], err
+6 -6
View File
@@ -25,21 +25,21 @@ server {
local scheme = ngx.var.scheme local scheme = ngx.var.scheme
if scheme == "http" then if scheme == "http" then
if ngx.req.targetInfo["forcessl"] == "true" then if ngx.ctx.targetInfo["forcessl"] == "true" then
return ngx.redirect("https://"..host..uri, 301) return ngx.redirect("https://"..host..uri, 301)
end end
end end
if ngx.req.targetInfo["targetssl"] == "true" then if ngx.ctx.targetInfo["targetssl"] == "true" then
ngx.var.target_scheme = "https" ngx.var.target_scheme = "https"
end end
if ngx.req.targetInfo["host-pass-though"] == "false" then if ngx.ctx.targetInfo["host-pass-though"] == "false" then
ngx.var.header_host = ngx.req.targetInfo["ip"] ngx.var.header_host = ngx.ctx.targetInfo["ip"]
end end
ngx.var.target = ngx.req.targetInfo["ip"] ngx.var.target = ngx.ctx.targetInfo["ip"]
ngx.var.target_port = ngx.req.targetInfo["targetPort"] ngx.var.target_port = ngx.ctx.targetInfo["targetPort"]
'; ';