jsonrpc serviço nginx ssl configuration

1

Eu tenho um serviço python jsonrpc em execução no servidor na porta 8082.

Eu quero alcançá-lo com php jsonRPCClient. (e tem que ser https)
Meu servidor nginx se parece com:

server {
    listen   443;
    server_name  service.mydomain.com;
    ssl                  on;
    ssl_certificate      /path/to/crt/domain.crt;
    ssl_certificate_key  /path/to/crt/domain.key;
    keepalive_timeout    70;

    access_log  /var/log/nginx/domain.access.log;
    error_log  /var/log/nginx/domain.error.log;

    location / {
      proxy_set_header   Host             $host;
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

      proxy_pass         http://127.0.0.1:8082;
    }
}


Quando digito no meu navegador: link , vejo o resultado correto do serviço.

Mas se eu chamo com código php como:

$rpc = new jsonRPCClient("https://service.mydomain.com");
return $rpc->create_client($client_id);

Então eu não posso trabalhar com isso .. e parece de serviço log que desta vez a solicitação nunca chega ao serviço.

Qualquer Idéias sobre como resolver isso seria muito precioso.
obrigado
(ps: As chaves são certificados auto-assinados, se mudar alguma coisa)


A configuração nginx padrão da porta 80 é

server {
    listen   80 default;
    server_name  www.mydomain.com;

    access_log  /var/log/nginx/localhost.access.log;

    location / {
      proxy_pass         http://127.0.0.1:81;
      proxy_redirect     off;

      proxy_set_header   Host             $host;
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header   X-Forwarded-Port 80;
      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_max_temp_file_size 0;
    }
}

E a configuração nginx da porta 443 é:

server {
    listen   443;
    server_name  www.mydomain.com;
    ssl                  on;
    ssl_certificate      /path/to/crt/domain.crt;
    ssl_certificate_key  /path/to/crt/domain.key;
    keepalive_timeout    70;

    access_log  /var/log/nginx/domain.access.log;
    error_log  /var/log/nginx/domain.error.log;

    location / {
      proxy_set_header   Host             $host;
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

      proxy_pass         http://127.0.0.1:81;
    }
}

O site é servido na porta 81 pelo apache:

<VirtualHost *:81>
   ServerName www.mydomain.com
   DocumentRoot "/var/www/domain"
   DirectoryIndex index.php
   <Directory "/var/www/domain>
       AllowOverride All
       Allow From All
   </Directory>
</VirtualHost>
    
por user227241 20.06.2014 / 14:41

0 respostas

Tags