jsonrpc服务nginx sslconfiguration

我有一个python jsonrpc服务在端口8082服务器上运行。

我想用php jsonRPCClient达到它。 (并且必须是https)
我的nginx服务器如下所示:

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; } } 

当我input我的浏览器: https : //service.mydomain.com然后我看到服务的正确结果。

但是,如果我使用php代码来调用它:

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

然后我不能使用它..而从服务日志似乎这次请求永远不会到达服务。

任何想法如何解决这将是非常宝贵的。
谢谢
(ps:密钥是自签名证书,如果它改变了某些东西)

端口80默认的nginx设置是

 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; } } 

而443端口的nginx设置是:

 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; } } 

该网站由Apache的81端口服务:

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