I'm trying to serve some static css, png's, etc. from my Pyramid app that's hosted on Elastic Beanstalk. It works fine on my local machine but when I try to run on EB, neither the CSS nor the images are found. Here's the relevant code:
From .ebextensions:
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: pyramid.wsgi
aws:elasticbeanstalk:application:
Application Healthcheck URL: /health
aws:elasticbeanstalk:container:python:staticfiles:
"/static/": "static/"
From home.make
<link rel="stylesheet" href="${request.static_url('app:static/css/settings/globals.css')}"/> <link rel="stylesheet" href="${request.static_url('app:static/css/settings/colors.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/objects/containers.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/base/base.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/components/articles.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/components/divs.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/components/footers.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/components/headers.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/components/img.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/components/links.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/components/lists.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/components/paragraphs.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/components/sections.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/components/small.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/state/links.css')}"/>
<link rel="stylesheet" href="${request.static_url('app:static/css/utilities/utilities.css')}"/>
From static_config.py
from pyramid.security import NO_PERMISSION_REQUIRED
### INCLUDEME
def includeme(config):
"""Configure static endpoints.
"""
config.add_static_view(name='static',\
path='app:static')
--
You received this message because you are subscribed to the Google Groups "pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pylons-discus...@googlegroups.com.
To post to this group, send email to pylons-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pylons-discuss/b9be3daf-93cf-49c9-9ffd-f67d43e8289d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to pylons-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to pylons-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pylons-discuss/e377d97f-2c99-4b79-87b6-f78c51f25ef3%40googlegroups.com.
Do you have HTTPS configured for Elastic Beanstalk, per the docs at http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https.html ?
If so, you’ll need to add a setting to ensure the generated routes start with https.
There are a couple of ways to do this. The first option is to add the following to your production.ini file (for example)…
wsgi.url_scheme = https
The other option is to add a tween to auto-detect if there’s an HTTPS reverse-proxy fronting your WSGI server based on HTTP_X_FORWARDED_PROTO. Here’s an example of that tween…
https://github.com/eucalyptus/eucaconsole/blob/master/eucaconsole/tweens.py#L45-L51
HTH,
Kamal
To view this discussion on the web visit https://groups.google.com/d/msgid/pylons-discuss/7978ce21-e2e4-424e-ad50-bad2abe2aa3c%40googlegroups.com.