6

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"] 
+0

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 –

+0

@DanielPrzybylowski Hướng dẫn này là dành cho môi trường chuẩn. – alex

+0

Ứng dụng của bạn có đang chạy ở chế độ Prod không? –

Trả lời

1

Có thể bạn phải viết một ứng dụng nhỏ, lắng nghe trên cổng http và phát hành Location tiêu đề cho bất kỳ yêu cầu đến?

Các vấn đề liên quan