当用户将网址更改为http:// whatever时,如何强制重定向到https?

时间:2017-07-06 21:33:15

标签: java scala http https playframework

我正在使用播放框架2.3,我已经到了重定向到https的工作点,但是如果我将网址中的https更改为http,请求永远不会进入服务器。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果您的应用在Web服务器后面工作,则可以为http和https创建相同的后端配置。您可以在官方文档中找到不同的Web服务器配置:

https://www.playframework.com/documentation/2.5.x/HTTPServer

如果您的应用直接处理https(不推荐)并且您使用./start -Dhttps.port=...启动它,请添加另一个参数-Dhttp.port=,然后使用https和http请求访问您的服务器。

最佳方案,如果您在应用前使用网络服务器,并将http配置为https重定向到那里。

例如。 nginx http host config将每个请求重定向到https:

server {
 include /etc/nginx/server_http;
 server_name  yourdomain.com;

 root /var/www/html;

 location / {
  rewrite ^ https://$server_name$request_uri?;
 }
}

答案 1 :(得分:0)

首先使用两个服务器配置,一个端口80,任何一个打开,它将重定向到仅https

    server {
listen       80;
        server_name  domain   www.doman ;
return         301 https://www.doman.com$request_uri;
}
################################################
server {
    location ~ /\. { deny  all; }
listen              443 ssl;
server_name        domain   www.doman  ;