
今日は、全然進んでいません。
ストレス溜まるwww
ちょっと今日はマニアックなことをできるだけ簡単に書いてみうようと思います。とはいえ、短文でわかりやすく書くのは難しいので、もしわからなければ、へーそういうもんなんだ。って軽く受け流してくださいwww
UI側(画面表示側)はサーバに設置しながら作っています。そうしないと、携帯電話サイトが見えないので・・・
で、バックエンドの処理(データベースの読み書きの処理が多いです)は、ローカル環境においてある私のPC(Mac)で開発しているのですが、動作確認をするにはいちいちサーバにアップしなければなりません。
サーバではdockerという仮想化ツールを使っていて、プログラムをUPするときに、いちいちビルドという作業が発生するので待ち時間があって猛烈に効率が悪いのです。
なので、現状はある程度進捗したらまとめてサーバに移すようにしています。でもこれが嫌なのです。
「今」問題が起きたら、「今すぐ」対処したいのです。なので、バックエンドでバグを見つけるたびに私のPCにある開発環境で原因を探しますが、携帯電話で動作確認するためにいちいちプログラムの変更分をサーバにUPしなければならないのです。
いやーこれが本当に面倒臭い。私面倒なことは大嫌いですw
それで、今日はサーバ機に置いてあるあるNGINX(エンジンエックスって読みますw)というWEBサーバがあるのですが、このNGINXの機能をいじってインターネット経由でバックエンド側の処理のリクエストが来たらサーバから私のローカル環境においているMacに処理を投げてもらうように設定する作業をしていました。
そうすれば携帯電話からサイトを閲覧してバックエンド処理のリクエストが来たら、サーバは私のPCに処理を回してくれるので、ローカルにおいている私の開発マシンが直接インターネット経由で処理を受けることができるようになります。
これができると、何か問題あっても直接開発環境のプログラムを修正すれば、すぐに修正が動作に反映できるので、無駄な手間がありません。
この機能はリバースプロキシと呼ばれているものを使って実現しています。
で、今日はその設定をしていたのですが「502 Bad Gateway」というエラーに悩まされていました。
一般的にこのエラーはネットワークに何らかの問題が生じているときに発生するのですが、原因がわからなくて1日潰れてしまいましたw
で、自分への戒めと今後のために判明した原因を書いておこうと思いました。
利用者の携帯電話
→ サーバ(https)
→ バックエンド(開発環境)(http)
にリクエストをしていて、リーバスプロキシから開発環境にhttpでリクエストしているのに、開発環境がhttpではなくhttpsのリクエストしか受け付けない設定になっていたから。
わかってしまえばくだらん理由だったwww
結局今日一日、目に見えた進捗がありません。でも、開発のための環境は改善できたのでOKとすることにします!w
なんか進捗したのでヨシw
