Estou executando um servidor web incorporado chamado Mongoose no plano de fundo de um aplicativo iOS. Isso só deve operar temporariamente.
No momento, estou usando um endereço IP privado, mas preciso de HTTPS. Para usar HTTPS, é necessário um endereço IP público ou configuração de DNS. Não tenho certeza se isso é realmente possível na minha situação (com o servidor Mongoose). Se alguém tiver informações sobre isso, eu agradeceria se você pudesse me informar.
Explicação adicional
Tanto o servidor quanto o cliente estão localizados dentro do aplicativo. O cliente só pode executar tarefas para baixar arquivos hospedados pelo servidor. Portanto, ele só tem usado o endereço de loopback (127.0.0.x). Em outras palavras, o cliente e o servidor têm um relacionamento um-para-um. Não há necessidade de uso compartilhado.
No entanto, quando abro o Safari dentro do aplicativo, a página é bloqueada com uma mensagem dizendo: "Não é possível abrir a página no Safari. Erro: Não é possível navegar para a URL HTTP enquanto o modo somente HTTPS estiver habilitado."
Estou trabalhando para resolver esse problema. Esse problema está relacionado ao HSTS (HTTP Strict Transport Security) do Safari
O conceito de um servidor web incorporado pode ser desconhecido e pode não repercutir bem.
Há muito o que desempacotar aqui. (Infelizmente sua pergunta não é muito clara)
Dependendo de como a pilha de rede do seu dispositivo móvel estiver configurada - e se o dispositivo estiver recebendo um endereço IP roteável mundial (um tanto improvável, mas não impossível) e o roteador puder fazer o mapeamento de portas, o servidor web do celular poderá obter um endereço IP público.
Dito isto -
Um servidor web não precisa de um endereço IP público para funcionar localmente - ele precisa de um certificado reconhecido/aceito para o domínio associado ao virtualhost (e o endereço IP é irrelevante - até onde sei, você não pode criar um certificado para um endereço IP, apenas um nome de domínio). Se você tiver um mecanismo para resolver o nome de domínio para o endereço IP interno, e puder obter uma chave privada e gerar um certificado (esse é um tópico longo, mas isso pode ser feito com certificados autoassinados ou com certificados que você compra e valida), você pode aplicar isso ao servidor web.
Há todas as chances de você criar um certificado autoassinado e aceitá-lo no seu navegador e acessá-lo no dispositivo móvel ou na sua LAN sem um endereço IP público. Você pode até conseguir fazer isso sem DNS se puder editar os arquivos hosts nos seus dispositivos ou usar outro tipo de resolução de nomes (por exemplo, DNS no seu roteador)