全球主机交流论坛

标题: https跳转的问题??? [打印本页]

作者: pfdiy    时间: 2017-8-22 22:57
标题: https跳转的问题???
本帖最后由 pfdiy 于 2017-8-23 17:58 编辑

我使用火狐那个配置文件 用 hsts 自动从http转向https了,然后使用了 301 将不带www和带www的网址都转想到https://www.我爱hostloc.dalao上,但是问题来了 https://我爱hostloc.dalao,不会301到https://www上。我找了好多教程都不行。。。只能再次求助了!!!!楼下的几个 我也试了 不行啊!!!
作者: pfdiy    时间: 2017-8-22 22:59
运动
作者: leaveoff    时间: 2017-8-22 22:59
这个我也不会。。。
作者: pfdiy    时间: 2017-8-22 23:01
等大佬
作者: Dami    时间: 2017-8-22 23:06
  1. server
  2.     {
  3.         listen 443 ssl;
  4.         #listen [::]:80;
  5.         server_name www.baidu.com;

  6.         ssl on;
  7.         ssl_certificate /usr/local/ssl/1_www.baidu.com_cert.crt;
  8.         ssl_certificate_key /usr/local/ssl/2_www.baidu.com.key;
  9.         ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
  10.         ssl_prefer_server_ciphers on;   
  11.         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";
  12.         keepalive_timeout 70;
  13.         ssl_session_cache shared:SSL:10m;
  14.         ssl_session_timeout 10m;


  15.         index index.html index.htm index.php default.html default.htm default.php;
  16.         root  /home/wwwroot/www.baidu.com;

  17.         include wordpress.conf;
  18.         #error_page   404   /404.html;
  19.         include enable-php.conf;

  20.         location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
  21.         {
  22.             expires      30d;
  23.         }

  24.         location ~ .*\.(js|css)?$
  25.         {
  26.             expires      12h;
  27.         }

  28.         location ~ /\.
  29.         {
  30.             deny all;
  31.         }

  32.         access_log off;
  33.     }

  34. server
  35.     {
  36.         listen 80;
  37.         server_name  www.baidu.com;
  38.         return       301 https://www.baidu.com$request_uri;
  39.     }

  40. server
  41.     {
  42.         listen 80;
  43.         server_name  baidu.com;
  44.         return       301 https://www.baidu.com$request_uri;
  45.     }

  46. server
  47.     {
  48.         listen 443 ssl;
  49.         server_name  baidu.com;

  50.         ssl on;
  51.         ssl_certificate /usr/local/ssl/1_www.baidu.com_cert.crt;
  52.         ssl_certificate_key /usr/local/ssl/2_www.baidu.com.key;
  53.         ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
  54.         ssl_prefer_server_ciphers on;   
  55.         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";
  56.         keepalive_timeout 70;
  57.         ssl_session_cache shared:SSL:10m;
  58.         ssl_session_timeout 10m;

  59.         return       301 https://www.baidu.com$request_uri;
  60.     }
复制代码

作者: hellfires    时间: 2017-8-22 23:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: xu81709752    时间: 2017-8-22 23:14
server_name  a.com www.a.com
懂了没
作者: pfdiy    时间: 2017-8-22 23:34
有吗
作者: pfdiy    时间: 2017-8-22 23:39
xu81709752 发表于 2017-8-22 23:14
server_name  a.com www.a.com
懂了没

我绑了!不行
作者: pfdiy    时间: 2017-8-22 23:39
Dami 发表于 2017-8-22 23:06

好多!不会出现死循环吗?
作者: dvbhack    时间: 2017-8-23 00:08
你是 Apache 还是 Nginx?

我的一般做法是:

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

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

说得真累……
作者: dvbhack    时间: 2017-8-23 00:11
Dami 发表于 2017-8-22 23:06


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

  1. server {
  2.     listen 80;
  3.     server_name baidu.com www.baidu.com;
  4.     return 301 https://www.baidu.com$request_uri;
  5. }

  6. server {
  7.     listen 443 ssl;
  8.     server_name baidu.com www.baidu.com;

  9.     if ( $host != 'www.baidu.com' ) {
  10.         return 301 https://www.baidu.com$request_uri;
  11.     }
  12. }
复制代码

作者: 流河旱树    时间: 2017-8-23 00:12
  1. if ( $scheme = http ){
  2.                         return 301 https://$server_name$request_uri;
  3.                 }
复制代码


不用谢了
作者: chenyunzhui    时间: 2017-8-23 01:16
用插件吧
作者: Dami    时间: 2017-8-23 07:56
pfdiy 发表于 2017-8-22 23:39
好多!不会出现死循环吗?

  不会,我用的就是这个
作者: pfdiy    时间: 2017-8-23 08:07
Dami 发表于 2017-8-23 07:56
不会,我用的就是这个

感觉好多
作者: 左手写爱    时间: 2017-8-23 08:55
什么跳转  301吗?
作者: pfdiy    时间: 2017-8-23 17:59
顶各位dalao
作者: Cartson    时间: 2017-8-23 22:54
我也有这个问题,没办法跳到www,求大佬解决
作者: pfdiy    时间: 2017-8-24 08:47

作者: pfdiy    时间: 2017-8-24 08:51

作者: pfdiy    时间: 2017-8-24 21:45

作者: 521vps    时间: 2017-8-24 22:20
  1. location / {
  2. if ($host = 'xx.com' ) {
  3. rewrite ^/(.*)$ https://www.xx.com/$1 permanent;
  4. }
  5. if ($server_port = 80) {
  6. return 301 https://$server_name$request_uri;
  7. }
  8. if ($scheme = http) {
  9. return 301 https://$server_name$request_uri;
  10. }
  11. error_page 497 https://$server_name$request_uri;
  12.         index index.html index.php;
  13.         if (-f $request_filename/index.html){
  14.             rewrite (.*) $1/index.html break;
  15.         }
  16.         if (-f $request_filename/index.php){
  17.             rewrite (.*) $1/index.php;
  18.         }
  19.         if (!-f $request_filename){
  20.             rewrite (.*) /index.php;
  21.         }
  22. }
复制代码


amh nginx 下我用的规则 自己改下上半部分 确认可行
作者: jker    时间: 2017-8-24 22:24
不懂,看的头晕
作者: pfdiy    时间: 2017-8-25 10:31





欢迎光临 全球主机交流论坛 (https://loc.1226.eu.org/) Powered by Discuz! X3.4