バージョン選択

フォーラム

メニュー

オンライン状況

78 人のユーザが現在オンラインです。 (74 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 77
red もっと...

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > 管理機能 > SSL化でajaxが動かなくなった

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2016/10/26 16:04
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 306
SSL化でajaxが動かなくなった
EC-CUBE3で構築したサイトを開発環境から本番環境に移行した時に、ajax(商品画像の登録など)が動作しなくなりました。
環境の違いは、SSL通信(http→https)に変わったことぐらいです。
ajaxのPOST先であるurlをtwig内で{{ url }}で生成していますが、httpsからhttpにPOSTしようとしてエラーになっています。

まず、.htaccessに次を追加しました。
    <IfModule mod_rewrite.c>
    RewriteCond %{ENV:HTTPS} !^on$
    RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
    RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
    </IfModule>


それでも解決しなかったため、デバッグしてURLを生成しているソースを突き止め、無理やりにスキームを変更することでとりあえずは動作するようになりました。
vendor/symfony/routing/Generator/UrlGenerator.php(202行目あたり)
            $scheme = $this->context->getScheme();
            $scheme = 'https';


できれば根本的に解決したいと思いますので、解決策をお教え願います。

サーバーはさくらを使っており、本当か嘘か、さくらとEC-CUBEは相性が悪いという噂も聞きました。
また、index.phpがどちらの環境もEC-CUBEのルートフォルダ外にあります。

■環境
サーバー さくら
EC-CUBE 3.0.10
PHP 5.6.24

■構成
root
 ┣ eccube-3.0.10
 ┃ ┣ app
 ┃ ┣ html
 ┃ ┣ src
 ┃ ┗ vendor
 ┗ www   ★外出ししている
   ┣ .htaccess
   ┗ index.php

■ajaxのurl生成例
src/Eccube/Resource/template/admin/Product/product.twig
{% block javascript %}
<script>
$(function() {
    var count_add = {{ form.add_images|length|default(0) }};
    $('#{{ form.product_image.vars.id }}').fileupload({
        url: "{{ url('admin_product_image_add') }}",
        type: "post",
        dataType: 'json',
        done: function (e, data) {
            $('#progress').hide();
            $.each(data.result.files, function (index, file) {
                var path = '{{ app.config.image_temp_urlpath }}/' + file;
                var $img = $(proto_img.replace(/__path__/g, path));
                var $new_img = $(proto_add.replace(/__name__/g, count_add));
                $new_img.val(file);
                $child = $img.append($new_img);
                $('#thumb').append($child);
                count_add++;
            });
            hideSvg();
            updateRank();
        },
        fail: function (e, data) {
            alert('アップロードに失敗しました。');
        },
        always: function (e, data) {
            $('#progress').hide();
            $('#progress .progress-bar').width('0%');
        },
        start: function (e, data) {
            $('#progress').show();
        },
        acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
        maxFileSize: 10000000,
        maxNumberOfFiles: 10,
        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .progress-bar').css(
                    'width',
                    progress + '%'
            );
        },
        processalways: function (e, data) {
            if (data.files.error) {
                alert("画像ファイルサイズが大きいか画像ファイルではありません。");
            }
        }
    });
});
</script>
{% endblock javascript %}
red
投稿日時: 2016/10/27 22:11
対応状況: −−−
登録日: 2010/2/15
居住地:
投稿: 1064
オンライン
Re: SSL化でajaxが動かなくなった
なにを根本的というかは難しいですが、(たぶん)さくらのSNI SSLの問題なので強引に対応するしかないと思います


----------------
EC-CUBEのカスタマイズ承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

seasoft
投稿日時: 2016/10/28 1:04
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7331
Re: SSL化でajaxが動かなくなった
さくらに限らず、共用サーバーは何らかの制約や独自仕様はあると思いますよ。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

h_tanaka
投稿日時: 2016/10/28 8:56
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 306
Re: SSL化でajaxが動かなくなった
redさん、神さん、
ご返信ありがとうございます!

サーバー側の問題であれば根本解決は難しいですね。
やりたかったのは、環境のスキームに依存せず動作させたかったのですが、今考えてみれば環境に合わせてdefineを変えればいいですね。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

 



ログイン


EC-CUBEペイメント

クレジットカード情報の非保持化対応

統計情報

総メンバー数は19,738名です
総投稿数は82,442件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1632
4
yuh
1387
5
red
1064
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
784
10
umebius
712
11
tao_s
651
12 sumida 638
13
homan
633
14
468
630
15 karin 609
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEガイドブック
Copyright© LOCKON CO.,LTD. All Rights Reserved.