pfdiy 发表于 2017-8-22 22:57:34

https跳转的问题???

本帖最后由 pfdiy 于 2017-8-23 17:58 编辑

我使用火狐那个配置文件 用 hsts 自动从http转向https了,然后使用了 301 将不带www和带www的网址都转想到https://www.我爱hostloc.dalao上,但是问题来了 https://我爱hostloc.dalao,不会301到https://www上。我找了好多教程都不行。。。只能再次求助了!!!!楼下的几个 我也试了 不行啊!!!

Dami 发表于 2017-8-22 23:06:41

[*]server
[*]    {
[*]      listen 443 ssl;
[*]      #listen [::]:80;
[*]      server_name www.baidu.com;
[*]
[*]      ssl on;
[*]      ssl_certificate /usr/local/ssl/1_www.baidu.com_cert.crt;
[*]      ssl_certificate_key /usr/local/ssl/2_www.baidu.com.key;
[*]      ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
[*]      ssl_prefer_server_ciphers on;   
[*]      ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
[*]      keepalive_timeout 70;
[*]      ssl_session_cache shared:SSL:10m;
[*]      ssl_session_timeout 10m;
[*]
[*]
[*]      index index.html index.htm index.php default.html default.htm default.php;
[*]      root/home/wwwroot/www.baidu.com;
[*]
[*]      include wordpress.conf;
[*]      #error_page   404   /404.html;
[*]      include enable-php.conf;
[*]
[*]      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
[*]      {
[*]            expires      30d;
[*]      }
[*]
[*]      location ~ .*\.(js|css)?$
[*]      {
[*]            expires      12h;
[*]      }
[*]
[*]      location ~ /\.
[*]      {
[*]            deny all;
[*]      }
[*]
[*]      access_log off;
[*]    }
[*]
[*]server
[*]    {
[*]      listen 80;
[*]      server_namewww.baidu.com;
[*]      return       301 https://www.baidu.com$request_uri;
[*]    }
[*]
[*]server
[*]    {
[*]      listen 80;
[*]      server_namebaidu.com;
[*]      return       301 https://www.baidu.com$request_uri;
[*]    }
[*]
[*]server
[*]    {
[*]      listen 443 ssl;
[*]      server_namebaidu.com;
[*]
[*]      ssl on;
[*]      ssl_certificate /usr/local/ssl/1_www.baidu.com_cert.crt;
[*]      ssl_certificate_key /usr/local/ssl/2_www.baidu.com.key;
[*]      ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
[*]      ssl_prefer_server_ciphers on;   
[*]      ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
[*]      keepalive_timeout 70;
[*]      ssl_session_cache shared:SSL:10m;
[*]      ssl_session_timeout 10m;
[*]
[*]      return       301 https://www.baidu.com$request_uri;
[*]    }复制代码

pfdiy 发表于 2017-8-22 22:59:00

运动

leaveoff 发表于 2017-8-22 22:59:50

这个我也不会。。。

pfdiy 发表于 2017-8-22 23:01:09

等大佬

hellfires 发表于 2017-8-22 23:07:55

server_namea.com www.a.com
懂了没

xu81709752 发表于 2017-8-22 23:14:45

有吗

pfdiy 发表于 2017-8-22 23:34:49


xu81709752 发表于 2017-8-22 23:14

server_namea.com www.a.com
懂了没
我绑了!不行

pfdiy 发表于 2017-8-22 23:39:12

"
好多!不会出现死循环吗?你是 Apache 还是 Nginx?

我的一般做法是:

先用一个监听80端口的虚拟主机配置,把 HTTP 的 有 www 和无 www 的主机都301到无 www 的 https。

然后再用一个监听443端口的虚拟主机配置,里面判断主机头不是无 www 域名的,301到无 www 的 https。

说得真累……

pfdiydvbhack 发表于 2017-8-22 23:14:00


Dami 发表于 2017-8-22 23:06


可以精简为两个 server 配置块:

[*]server {
[*]    listen 80;
[*]    server_name baidu.com www.baidu.com;
[*]    return 301 https://www.baidu.com$request_uri;
[*]}
[*]
[*]server {
[*]    listen 443 ssl;
[*]    server_name baidu.com www.baidu.com;
[*]
[*]    if ( $host != 'www.baidu.com' ) {
[*]      return 301 https://www.baidu.com$request_uri;
[*]    }
[*]}复制代码
页: [1] 2 3
查看完整版本: https跳转的问题???