2016-02-17 5 views
0

Как перенаправить http-страницу на https?Angularjs перенаправить на https

Я пробовал этот код в login.config, но он перешел на http и перешел на https. Сначала я хочу разрешить https.

resolve: { 
     data: function ($q, $state, $timeout, $location, $window) { 
      var deferred = $q.defer(); 

       if ($location.protocol() !== 'https') { 
        $window.location.href = $location.absUrl().replace('http', 'https'); 
       } 
       deferred.resolve(true); 


      return deferred.promise; 
     } 
    } 

Благодаря

ответ

1

Вы должны перенаправить на HTTPS с помощью веб-сервера.

Например, если вы используете Nginx редактировать сервер раздел nginx.conf

server { 
     listen   80; 
     server_name my.domain.com; 
     return   301 https://$server_name$request_uri; 
} 

server { 
     listen   443 ssl; 
     server_name my.domain.com; 
     # add Strict-Transport-Security to prevent man in the middle attacks 
     add_header Strict-Transport-Security "max-age=31536000"; 

     [....] 
} 
1

Я считаю, вы решения проблемы на неправильном уровне. Проект AngularJS размещен на каком-то сервере (NodeJS, Apache HTTP, NGINX, что угодно). Этот сервер должен позаботиться о переадресации!

Для Apache HTTP, вы можете захотеть взглянуть на: https://wiki.apache.org/httpd/RedirectSSL

В случае NGINX, вы бы что-то подобное в вашей конфигурации:

server { 
    listen 80 default_server; 
    listen [::]:80 default_server; 
    server_name _; 
    return 301 https://$host$request_uri; 
} 
Смежные вопросы