1
私はapacheのプロキシとしてnginxを使ってdebian上にphp soap server api setupを持っています。 SOAPコールは、HTTP経由で正常に動作しますが、php soap api call over https
<VirtualHost *:8081>
ServerName <my sub domain>
ServerAlias www.<my sub domain>
SSLEngine on
SSLCertificateFile /etc/nginx/ssl/dev/wildcard.<dm name>-chained.crt
SSLCertificateKeyFile /etc/nginx/ssl/dev/wildcard.<dm name>.net.key
#SSLProtocol ALL -SSLv2 -SSLv3
#SSLVerifyClient none
#SSLVerifyDepth 1
#SSLHonorCipherOrder On
#SSLCipherSuite
DocumentRoot /var/www/<project folder>
<Directory /var/www/<project folder>>
Options FollowSymLinks -Indexes
AllowOverride All
Order Allow,Deny
Allow from all
SSLRequireSSL
</Directory>
</VirtualHost>
を次のように
server {
listen 443 ssl;
server_name <sub domain name>;
ssl on;
ssl_certificate /etc/nginx/ssl/dev/wildcard.<dm name>-chained.crt;
ssl_certificate_key /etc/nginx/ssl/dev/wildcard.<dm name>.key;
location/{
proxy_redirect off;
proxy_pass https://localhost:8081;
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_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
# return 301 https://$host$request_uri;
server_name <sub domain name>;
location/{
proxy_pass http://<server ip>:8080;
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_set_header X-Forwarded-Proto $scheme;
}
}
とApacheの設定が
を次のように私は、Apache ports.confを変更したで次のようにHTTPSを介してnginxの構成はありません
NameVirtualHost *:8080
Listen 8080
<IfModule mod_ssl.c>
NameVirtualHost *:8081
# # If you add NameVirtualHost *:443 here, you will also have to change
# # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# # to <VirtualHost *:443>
# # Server Name Indication for SSL named virtual hosts is currently not
# # supported by MSIE on Windows XP.
Listen 8081
</IfModule>
<IfModule mod_gnutls.c>
Listen 8081
</IfModule>
ここにed。 私のローカルでPHPクライアントを使用し、URLがhttpの場合はsoap呼び出しを行いますが、URLがhttpsの場合は機能しません 有用なエラーメッセージも表示されません。
ありがとうございました。私はまだそれが動作しない変更を行いました。 nginx HTTPSリスナーconfを proxy_pass http://:8080に変更しました。 私のブラウザでhttpsで問題なく のsoapファイルにアクセスできますが、単純なphp soapクライアントコールは機能しません。 $ vLocation = 'https:// ';$ client =新しいSoapClient( ""、配列( "location" => $ vLocation、 "trace" => 1、 'cache_wsdl' => WSDL_CACHE_NONE )); $ vFunctions = $ client - > __ getFunctions();私が行うとき 同じPHP石鹸アプリケーションは、私はバーチャルホストの設定へのアクセスを持っていない別のサーバーでホストされているが –
manoveg
作品 opensslのs_client -connect私が手-ssl3 'CONNECTED( 00000003) 140735331525456:エラー:1409E0E5:SSLルーチン:SSL3_WRITE_BYTES:SSLハンドシェイクの失敗:s3_pkt.c:598: '私は私のnginxの設定 ssl_protocolsのSSLv3 TLSv1のTLSv1.1 TLSv1.2に次き 。 –
manoveg