アプリ版:「スタンプのみでお礼する」機能のリリースについて

WEBアプリを開発しています。
(windows・IISです)

今回初めてシステムをSSL対応で納品することになりました。

今まで何度か質問させていただき、それほど大きな変更はないと知り安堵していたのですが、
いざ、修正しますと結構、力仕事的にあることがわかりました。

cgiアプリのプログラムで、必要な箇所に"https://localhost/"を、くっつけるよう直していましたが
静的なhtmlファイルやjsファイルなどは、
動く環境に合わせて、直接ファイルを開けてURLを書き換えないといけないです!
納品時に、またお客様の環境に合わせた修正をしなければならない???
お客様の環境が変わったら?
それは無理!
と、焦りました。


で、調べていましたら「ルート相対パス」にしておけば
テスト時でも、納品しても 変更しなくて良いとのこと!?
(ルート相対パス・・・初めて知った無知者です)


<img>はsrc="/xxx/xxx.png"、
ルート直下であれば src="/xxx.png"

js、cssなど、src=関連は全てsrc="/・・・"

<form>のactionも action="/cgi.exe"

などにすればよいのでしょうか?


自分で確認しろ!と言われそうですが、なにぶん テスト環境はdebug用SSL環境ですし
納期は迫っているし、
皆さんのアドバイスで少しでも正確な(?)方法で動ければ、、、と
質問させていただきました。


※因みにSSLのデバック環境だと、「セキュリティに問題があります」などのエラーが出るのは仕方の無いことでしょうか?
推奨されないという「サイトの続行」でテストしようとしていますが。
(やっとSSLのdebug環境ができたばっかりなんです)


以上、よろしくお願いします。

A 回答 (5件)

ルート相対パス、もしくは相対パスで全部記述すればいいです。



SSLのエラーは、証明書の問題ですからどうでもいいです。
確認すべきは、目的のページアクセスができているかどうかです。
そもそもページ自体の飛び先がhttpsになってないとか、
ページ内でhttpsアクセスになってない要素(imgとか)があるとか。
    • good
    • 0
この回答へのお礼

naktakさん、ありがとうございます。

まだこれから試験ですが、
トップページは表示できています。

DBをまだ作成していないので、これから環境を整えます。


>SSLのエラーは、証明書の問題ですからどうでもいいです

安心しました!
ありがとうございました。

お礼日時:2014/11/05 16:48

「ルート相対パス」で用語の混乱が見られるようなので補足しておきます


これは Adobe が提唱している「サイトルート相対パス」から来ていると思われます。
下記にAdobe, RFC の説明を併記します。

■Adobe の説明
- 絶対パス (http://www.adobe.com/support/dreamweaver/content … など)
- ドキュメント相対パス (dreamweaver/contents.html など)
- サイトルート相対パス (/support/dreamweaver/contents.html など)
 ※http://helpx.adobe.com/jp/dreamweaver/using/link … でリンクの種類の説明有。
 ※http://helpx.adobe.com/jp/dreamweaver/kb/233307. … によるとDreamweaver ヘルプでも説明されている模様。

■RFC2396 (URI: Generic Syntax) の説明
- 絶対パス (文中に該当語なし。RFC2396に倣うならBNF式 "abs_path" が該当。)
- 相対URI (BNF式 "relativeURI" で定義。相対パス、絶対パス、認証URI、クエリ文字列の組み合わせ総称)
- 絶対URI (BNF式 "absoluteURI" で定義。 http://www.adobe.com/support/dreamweaver/content … など)
 ※http://jbpe.tripod.com/rfcj/rfc2396.ej.sjis.txt に原文(和訳)有。

■RFC3986 (URI: Generic Syntax) の説明
- 相対パス (該当語なし)
- 絶対パス (BNF式 "path-noscheme" で定義。 /support/dreamweaver/contents.html など)
- 相対参照 (BNF式 "relative-ref" で定義。RFC2396における相対URIに相当。)
- 絶対URI (BNF式 "absolute-URI" で定義。 http://www.adobe.com/support/dreamweaver/content … など)
 ※http://www.ietf.org/rfc/rfc3986.txt に原文あり。

RFC とはインターネット関連技術の標準化団体を指し、この規定が標準と思って差し支えありません。
Adobe は「サイトルート(公開サーバのルートディレクトリ)からの相対パス」という意味で「サイトルート相対パス」と表現していますが、これは RFC 定義の「絶対パス」を指します。
また、Adobeが説明する「絶対パス」は RFC における「絶対URI」を指します。
特に「絶対パス」の定義がまるで違いますので、他人に説明するときに誤解を招かぬよう RFC 定義で覚えておくことをお勧めします。

# Re: jg1wjzさん
    • good
    • 0
この回答へのお礼

think49さん、
大変詳しく正確な回答、有難うございました。

他の人に説明できるよう、勉強します!

お礼日時:2014/11/12 11:36

いやはや、そんな基礎的なところで・・大丈夫ですか??


HTTPプロトコルとブラウザの基本的な動作ですが・・
たとえば
GET: http://hoge.com/abc/def.html
というファイルは、
http:HTTPプロトコルで
//  インターネット上の
hoge.com サーバーにある
/abc/efg.html というファイルを要求します。

hoge.comというHTTPサーバーは、そのファイルを提供し(実在の有無は関係ない)
そのファイルを提供し

ブラウザは、そのページを提供したサーバーやプロトコル、ファイル名を知っているので、そのページ(http://hoge.com/abc/def.html)内に
src="/abc/abc.jpg" なら、 hoge.comに、HTTPプロトコルで、/abc/abc.jpg を要求しますし
src="../aa.gifなら、hoge.comに対して、HTTPで /aa.gifを要求します。
スタイルシートがあれば、同様ですし、
そのスタイルシートに@importがあれば、そのスタイルシートからのパス

http も https も通信経路が暗号化されるだけで内部処理は変わりません。テスト用はhttp://local.hostで試せばよいだけです。
    • good
    • 0
この回答へのお礼

ORUKA1951 さん、ありがとうございます。
お恥ずかしい話ですが、WEBシステムの基礎的な知識がないまま、
オフライン系のプログラマーから移行していまして。。。
そして、いろいろな事情もあり、周りには教えてくれる人は誰もいません、と言いますか
私一人です。

よく知らないまま、いろんな掲示板でお世話になりながら
ここまできてしまいました。^^;

おっしゃっていることはだいたいわかります。
でも じゃあ、説明してみろ! といわれたら、言葉に詰まります。
正しい用語で説明できない。。。

勉強不足も承知しています。
これでいいのか、毎回悩んでいるのも事実です。
それでも限られた時間内で仕上げなければならず、突貫工事のような毎日。

>http も https も通信経路が暗号化されるだけで内部処理は変わりません。テスト用はhttp://local.hostで試せばよいだけです。

他者さんの開発したシステムも参考にさせていただきながら、これも掲示板などで
教えていただきました。
そしてそれを実際に実現するに当たり、試行錯誤で質問させていただきました。
周りには教えてくれる人も、うなづいてくれる人も、誰もいないので
基礎的なこと、単純なことかもしれませんが質問させていただきしまた。

暖かいご指導、感謝いたします。
今後ともよろしくお願いいたします。

お礼日時:2014/11/05 17:06

基本的な設計が悪いだけです。


>cgiアプリのプログラムで、必要な箇所に"https://localhost/"を、くっつけるよう直していましたが
これもおかしい。

ディレクトリ構成を利用者・開発者で同じ環境を用意すれば良いこと。
社内SEもあなたも勉強不足。
絶対パスでも相対パスでも、環境の設計さえ統一できれば問題は生じないです。

たぶん、あなたは前任者から開発を任されたのかと思います。
今回を契機に、サイトのディレクトリ構成を、依頼者と意識統一したほうが良いと思います。
それを行うだけで、後継者の作業は楽になります。
    • good
    • 0
この回答へのお礼

Indomethacinさん、有難うございます。

>これもおかしい。

すみません、自分のコーディングレベルで書いてしまいました。
debugなので localhost で。
実際にはお客様の環境のURLになります。


>ディレクトリ構成を利用者・開発者で同じ環境を用意すれば良いこと。

ディレクトリ構成は同じと思います。
(サーバーを構築して納品)


>社内SEもあなたも勉強不足。

おっしゃるとおりです。
面目ない。。。
あっ、いろいろな事情があり、社内SEはいません。


>今回を契機に、サイトのディレクトリ構成を、依頼者と意識統一したほうが良いと思います。それを行うだけで、後継者の作業は楽になります。

ディレクトリ構成は全てルート直下で動いています。
ログファイルだけは別ディレクトリに保存。
(こんな回答でいいのか???)

今回、後任者もできそうで、いろいろ統一化・共通化に向けて動こうとしていますが
個人的には、全て作り変えたほうがいいと思ってるしだいです。
なにしろ、一ヶ月かかる工数を「とりあえず動けばいい」と言われ
それこそ詳細仕様も把握できないまま一週間で作り上げ、作り上げてしまえばそこのところはもうノータッチ、異常系bugが出たら大騒ぎ?! 周りはみんな「敵」
・・・すみません、愚痴ってしまいました。



気を取り直して、ご指導有難うございました。

お礼日時:2014/11/05 17:26

書かれている方法は相対パスでは無く絶対パスですね。


プロトコルやホスト名を省略しておけば、ブラウザはその時使用しているプロトコル、ホスト名を使って補完してくれるので、ディレクトリ構造が変わらなければ本番環境へ移しても修正は必要なくなります。
また、相対パス(src="../hoge/x.png" って感じ)でもプロトコルやホスト名を省略しているので、ブラウザが補完してくれるためディレクトリ構造が変わらなければそのまま使えます。

「セキュリティに問題があります」はテスト環境のFQDNとSSL証明書のFQDNが異なっているから出るんじゃないでしょうか。
予算に余裕があるならテスト環境用のSSL証明書を取得するという手もありますが、無駄な出費だと思いますので、そのままテストするのがいいのではないでしょうか。
    • good
    • 0
この回答へのお礼

t_ohta様、早々の御回答ありがとうございます。

今までは
 SRC="hoge.png"
action="hogo.exe"
などとしていましたので
 SRC="/hoge.png"
action="/hogo.exe"
だけでいいのですね!

助かりました。
ありがとうございます。

お礼日時:2014/11/05 13:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!