Ssl 强制https到http nginx subdmain

Ssl 强制https到http nginx subdmain,ssl,nginx,url-rewriting,Ssl,Nginx,Url Rewriting,我知道这个问题已经讨论过很多次了,但我在最后几个小时里没有取得任何成功。我有一个子域,可以将任何www重定向到none www,并希望它也能将任何https重定向到http 这是我的nginx vhost: server { listen 80; server_name www.stat.domain; return 301 http://stat.domain; } server { listen 80; roo

我知道这个问题已经讨论过很多次了,但我在最后几个小时里没有取得任何成功。我有一个子域,可以将任何www重定向到none www,并希望它也能将任何https重定向到http

这是我的nginx vhost:

server {
        listen 80;
        server_name www.stat.domain;
        return 301 http://stat.domain;
}

server {
        listen 80;
        root /home/www/public/;
        index index.php index.html index.htm;
        server_name stat.domain.net;
        location / {
        try_files $uri $uri/ /index.php;
        }
  location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        }
}
我仍然不知道为什么有人可以在浏览器上手动将url从http更改为https。这不是应该被禁止的吗,尤其是当一个站点没有SSL时

知道如何强制https到http吗

我仍然不知道为什么有人可以在浏览器上手动将url从http更改为https。这不是应该被禁止的吗,尤其是当一个站点没有SSL时

从这句话中,我了解到您的网站没有任何或没有适当的SSL。 在这种情况下

  • 在尝试访问SSL之前,浏览器如何知道没有SSL?即使如此,它又如何知道这是一个永久性的、有意的错误,从而使任何重试都无法工作呢?如果浏览器不知道,它应该如何阻止用户输入https URL
  • 如果您没有https,那么如何从中重定向?重定向需要一个连接,它可以在其中发出重定向,因此站点上没有SSL意味着没有https连接,因此没有来自https连接的重定向
@Digitalsite:如果您的子域与该域位于同一IP地址上,则该子域也将具有SSL,但证书不正确。没有办法解决这个问题,例如,你要么在IP:https上收听,要么不收听。您只能将您的子域移动到没有人进行SSL的其他IP,或者也可以获取子域的证书(或通配符)。Thanks@Steffen为了得到有用的答案。我会考虑你建议的任何一种方式。祝你有美好的一天!!