最近阿里云官网上有免费的SSL证书可以买,就决定把网站改成支持https的。还想把对于http的访问全部导向https。
可以在nginx里面这样配置:
http
监听的是80
端口,https
监听的是443
端口- 对于80端口,nginx配置可以这样写:
server {
listen 80;
server_name yoursitename;
# redirect http to https
return 301 https://yoursitename$request_uri;
}
- 然后还要对443端口进行配置
server {
listen 443 ssl;
server_name youtsitename;
……
……
}
关于301和302重定向
301和302都是http状态的编码,代表着某个url发生了转移。
但是,301是永久性转移
,302是暂时性转移
。
如果是301
,则搜索引擎在抓取内容的时候,会把网址设置为新的网址。301
对搜索引擎比较友好,而且搜索引擎会把老网址的PageRank等信息带到新网址来。
如果是302
,则搜索引擎在抓取内容的时候,会把网址设置为就的网址。因为搜索引擎认为302表示是暂时性的,PageRank就被分摊掉了。而且还会被搜索引擎误以为你利用多个域名指向同一个网站,企图干扰排名。这样有可能网站会被降权。
302劫持
由于一些原因,搜索引擎在处理302的时候,不能很好地显示目标网址,仍显示的是原网址,但内容确实目标网址的,相当于从原网址从目标网址“偷了内容”。