问题
I have an PlayFramework App developed using Scala running on Heroku; I only mention the development language and framework because any posts I've found regarding this issue relate to PHP! I have http and https running on a custom domain but I would like to force http requests to be redirect to https.
I've found that I need to update the .htaccess file with the following:
##Force SSL
#Normal way (in case you need to deploy to NON-heroku)
RewriteCond %{HTTPS} !=on
#Heroku way
RewriteCond %{HTTP:X-Forwarded-Proto} !https
#If neither above conditions are met, redirect to https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
But I am not sure if it is possible or how to set up the .htaccess file using Play and Scala.
Please can someone advise? Thanks.
回答1:
All you need to do is to add
play.filters.enabled += play.filters.https.RedirectHttpsFilter
In your .conf
file.
It will redirect all HTTP requests to HTTPS automatically.
It only works in production
mode by default. To change that, add :
play.filters.https.redirectEnabled = true
See the RedirectHttpsFilter documentation for more.
来源:https://stackoverflow.com/questions/50129048/heroku-playframework-scala-app-automatically-redirect-to-https