Tôi đang sử dụng môi trường linh hoạt trên Google App Engine để chạy ứng dụng web được viết bằng Scala và Play Framework. Tôi đã thêm miền tùy chỉnh vào ứng dụng của mình và giờ đây ứng dụng của tôi có sẵn thông qua cả http và https. Nhưng tôi cần phải thực hiện chuyển hướng từ http đến https. Tôi đã cố gắng để quản lý nó bằng cách làm những điều sau đây, nhưng nó đã không làm việc:Chuyển hướng các yêu cầu HTTP tới HTTPS trên Google App Engine và Play Framework
application.conf:
play.http.filters = "controllers.Filters"
controllers.Filters:
import javax.inject.Inject
import play.api.http.DefaultHttpFilters
import play.filters.cors.CORSFilter
import play.filters.https.RedirectHttpsFilter
class Filters @Inject() (corsFilter: CORSFilter, redirectHttpsFilter: RedirectHttpsFilter) extends DefaultHttpFilters(corsFilter, redirectHttpsFilter)
UPD Có lẽ vấn đề là tôi cần phải xác định cổng https trong Dockerfile của tôi? Đây là một Dockerfile:
FROM gcr.io/google_appengine/openjdk
RUN wget http://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.deb
RUN dpkg -i scala-2.11.8.deb
RUN wget https://dl.bintray.com/sbt/debian/sbt-0.13.13.deb
RUN dpkg -i sbt-0.13.13.deb
RUN apt-get update
RUN apt-get install scala sbt
RUN rm -f scala-2.11.8.deb
RUN rm -f sbt-0.13.13.deb
ADD . /appname
WORKDIR /appname
RUN chmod 755 ./docker-entrypoint.bash
ENTRYPOINT ["./docker-entrypoint.bash"]
CMD ["./target/universal/stage/bin/appname", "-Dhttp.port=8080"]
Nếu bạn đang sử dụng app.yaml cho cấu hình hơn bạn nên tham khảo hướng dẫn google: https://cloud.google.com/appengine/docs/standard/python/config/appref#secure –
@DanielPrzybylowski Hướng dẫn này là dành cho môi trường chuẩn. – alex
Ứng dụng của bạn có đang chạy ở chế độ Prod không? –