有关nginx 301的问题
在nginx的配置文件里添加了301的代码:如下:
if ($server_port = 80)
{
return 301 https://$server_name$request_uri;
}
if ($scheme = http)
{
return 301 https://$server_name$request_uri;
都能301跳转。后来发现一个问题。
新开了一个域名的解析,就是二级域名,服务器的IP和原来的不一样。
原来的服务器IP是:1.1.1.1 绑定域名:5137bj.comwww.5137bj.com
新的二级域名的服务器IP是:2.2.2.2绑定域名:mp.5137bj.com
我在配置文件里一开启上面的301跳转代码,就会出现:
打开http://mp.5137bj.com就会以https方式打开。也就是https://mp.5137bj.com
问题是,2.2.2.2没有做任何的https的协议配置啊。
请教一下军哥和各位。
https的证书,我只用5137bj.com和www.5137bj.com来申请的。而且是两台服务器哦。 你前面的301代码你加到哪里了?加的位置不对肯定所有域名都跳到https上
回复 2# 的帖子
代码加在server这层里。。配置文件如下:
server
{
listen 80;
listen 443 ssl;
#listen [::]:80;
server_name 5137bj.com www.5137bj.com;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";
index index.html index.htm index.php default.html default.htm default.php;
root/home/**/5137bj.com;
include wordpress.conf;
#error_page 404 /404.html;
include enable-php.conf;
ssl on;
ssl_certificate /usr/*/*/5137bj.crt;
ssl_certificate_key /usr/*/*/5137bj.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
if ($server_port = 80)
{
return 301 https://$server_name$request_uri;
}
if ($scheme = http)
{
return 301 https://$server_name$request_uri;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
location = /robots.txt {
if ($http_user_agent !~* "spider|bot|Python-urllib|pycurl")
{
return 403;
}
}
access_log/*/**.log;
}
回复 3# 的帖子
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"; 你自己设置的让全部域名包含二级域名都强制https,而且有效期是365天,到期以前,访问过该域名的浏览器都会记录下来强制https,除非手动清空浏览器里的HSTS缓存回复 4# 的帖子
非常感谢军哥。问题得到了解决!!!!
页:
[1]