Acho que você tem dois problemas fundamentais aqui. Em primeiro lugar, enquanto o Windows (tanto quanto eu sei) implementa um mecanismo central de armazenamento e validação de certificados, que os aplicativos geralmente chamam para (por exemplo) validar um certificado SSL, todos os aplicativos UNIX são implementados. Então, só porque um navegador funciona, isso não significa que outro navegador, ou wget
, irá - e o que um script PHP fará é um completo mistério, e totalmente dependente da biblioteca em questão.
Em segundo lugar, você decidiu usar um certificado SSL que incorpora um endereço IP em vez de um nome de host, e temos tinha problemas fazendo isso antes em torno dessas partes.
Meu próprio sentimento é que não é um bom uso de tempo qualificado para continuar tentando fazer essa estratégia funcionar. Em vez disso, registre um nome de domínio - eles custam quase nada e geralmente são mais fáceis de digitar do que os endereços IP - e configure DNS de divisão para que os clientes internos obtenham o endereço interno e os clientes externos obtenham o externo. Isso remove ambos dos seus problemas de uma só vez.