0

私のローカルCentOS 7 devスタックのフラスコアプリケーションでjacに問題はありませんが、AWS EBインスタンスには展開できません:ブラウザのGETリクエストは応答を返しません。AWS elasticbeanstalkのフラスコアプリケーションでjac(jinja-assets-compressor)が動作しない

AWS EBは/ var/log/httpdの/ access_logのちょうど百回程度このライン繰り返される:

127.0.0.1 (-) - - [12/Apr/2016:19:54:11 +0000] "GET/HTTP/1.1" 301 243 "-" "Python-urllib/2.7" 

と終了ATHを:

xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx) - - [12/Apr/2016:19:55:35 +0000] "GET/HTTP/1.1" 301 247 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0" 

だからgithubののJACリポジトリにありますrequirement.txtこれは次のとおりです。

Jinja2 
beautifulsoup4==4.3.2 
rjsmin==1.0.10 
ordereddict==1.1 
six==1.9.0 

しかし、私は何も追加する必要はありません上記のすべての行はpipblazeから取得したrequirements.txtファイルにまだ含まれています。

私は圧縮するいくつかのCSSを持っているので、問題は、以下のライブラリの不足かもしれないと思ったので、私は.ebextensionsに以下を追加:

commands: 
01-install-nodejs-npm: 
    command: yum install -y --enablerepo=epel nodejs npm 
02-install-less: 
    command: npm install -g less 

が、それは問題を解決しませんでした。

私はそれがのdevの環境で動作するので、コードに問題がないと思うが、念のために、以下の行は、initの.py flaskApp にあります

app.config['COMPRESSOR_DEBUG'] = app.config.get('DEBUG') 
app.config['COMPRESSOR_OUTPUT_DIR'] = './flaskApp/static/mydomain-dev' 
app.config['COMPRESSOR_STATIC_PREFIX'] = '/static/mydomain-dev' 
jac = JAC(app) 

env = jinja2.Environment(extensions=[CompressorExtension]) 
env.compressor_output_dir = './flaskApp/static/mydomain-dev' 
env.compressor_static_prefix = '/static/mydomain-dev' 
#env.compressor_source_dirs = './flaskApp/staticLib/' 

Iこの時点で立ち往生しています。

CentOS venvアプリとAWSアプリの唯一の違いは、アプリケーションがflask_sslifyを使用しているため、AWSのすべてのリクエストがhttpsにリダイレクトされることです(flask.debug = Trueの場合、flask_sslifyはリダイレクトされないためCentOSではリダイレクトされません)。

どうぞよろしくお願いします。

答えて

0

フラスコとジンジャ用の構成(スタンドアロンで使用する場合)を行います。 これらの行削除:

env = jinja2.Environment(extensions=[CompressorExtension]) 
env.compressor_output_dir = './flaskApp/static/mydomain-dev' 
env.compressor_static_prefix = '/static/mydomain-dev' 

をそしてJAC(app)はそれを設定しましょう。 しかし、ルートと物事を知らないため、JACは301を発行しません(私はコードをチェックする必要があります。 そのページはどこにリダイレクトされますか?

+0

Jaysonは回答してくれてありがとうございました。その間、私はAWS EBにさまざまな試みを展開していました。提案した行を削除して、flask_sslifyを削除しようとしましたが、プレーン/スタティック/ my/flaskApp/staticの代わりに/ pathを使用していましたが、動作させることができませんでした。 –

+0

私は実際に301がどこにリダイレクトするか分かりません。どうすれば確認できますか? –

+0

@marcoeあなたのアプリにもっと多くのログを追加して、どこに行くのかを確認するのは難しいです。または、リダイレクトがソースを追跡できるかどうかを確認します。ユーザーの認証をリダイレクトしていませんか? –