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>