快捷搜索:   nginx

Nginix开启SSL支持HTTPS访问(自签名方法)(2)

注意 https访问的是443端口,所以iptables要放开这个口,才可以


 

只针对注册、登陆进行https加密处理

既然HTTPS能保证安全,为什么全世界大部分网站都仍旧在使用HTTP呢?使用HTTPS协议,对服务器来说是很大的负载开销。从性能上考虑,我 们无法做到对于每个用户的每个访问请求都进行安全加密(当然,Google这种大神除外)。作为一个普通网站,我们所追求的只是在进行交易、密码登陆等操 作时的安全。通过配置Nginx服务器,可以使用rewrite来做到这一点。

 

在https server下加入如下配置:

 

if ($uri !~* "/logging.php$")

{

    rewrite ^/(.*)$ http://$host/$1 redirect;

}

 

在http server下加入如下配置:

 

if ($uri ~* "/logging.php$")

{

    rewrite ^/(.*)$ https://$host/$1 redirect;

}

 

这样一来,用户会且只会在访问logging.php的情况下,才会通过https访问。

 

更新:有一些开发框架会根据 $_SERVER['HTTPS'] 这个 PHP 变量是否为 on 来判断当前的访问请求是否是使用 https。为此我们需要在 Nginx 配置文件中添加一句来设置这个变量。遇到 https 链接重定向后会自动跳到 http 问题的同学可以参考一下。

 

server {

 

    ...

    listen 443;

    location \.php$ {

        ...

        include fastcgi_params;

        fastcgi_param HTTPS on; # 多加这一句

    }

}

 

server {

    ...

    listen 80;

    location \.php$ {

        ...

        include fastcgi_params;

    }

}

 

 

 


顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论