2014-04-04 55 views
1

我正在使用Gunicorn + Flask + Python開發一款Heroku應用程序,並且我希望能夠與工頭在本地運行它。它工作正常,但是當我切換到我的網站使用SSL時,它不再能夠找到/靜態下的javascript文件。我怎樣才能使這些在HTTPS下可用?如何通過https爲Gunicorn + Flask提供靜態文件?

回答

0

你可以使用nginx的前端gunicorn?如果是這樣,那麼你可以通過添加一個位置塊像下面的nginx.conf服務一樣通過SSL的JavaScript靜態內容:

server { 
    listen 443 ssl; 
    # other normal ssl stuff you seem to already have working 

    location/{ 
     root /path/to/your/static/stuff; 
     try_files $uri /index.html; # this will match your static content 
    } 
    location /api { 
     # your normal proxy stuff to gunicorn 
    } 
} 

而且分開,你可以提供靜態內容從API分離通過HTTP的效率,像如下:

server { listen 80; location/{ try_files $uri /index.html; } } 
server { 
    listen 443 ssl; 
    # other normal ssl stuff you seem to already have working 
    location /api { 
     # your normal proxy stuff to gunicorn 
    } 
} 
+0

就這樣 - 在同一頁面上同時提供靜態內容和安全內容將導致大多數瀏覽器顯示某種安全警告。理想情況下,一切都應該在SSL下發生 - 靜態內容或其他。 –