全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 7035|回复: 22
打印 上一主题 下一主题

http强制跳到 https带www nginx配置问题,大佬看下哪的问题

[复制链接]
跳转到指定楼层
1#
发表于 2018-5-1 21:16:04 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 akige 于 2018-5-1 21:20 编辑

配置如下 ssl的就不放出来了。没问题。
这样写看着没错啊?,就是跳不过去。

server {
    listen       80;
    server_name  aaa.com;
    return       301 https://www.aaa.com$request_uri;
}

server {
    listen       80;
    server_name  www.aaa.com;
     
    return       301 https://www.aaa.com$request_uri;
}

server {
    listen       443;
    server_name  aaa.com;
    return       301 https://www.aaa.com$request_uri;
}

我的需求就是
1.   xxx.com/a.html   跳到  https://www.xxx.com/a.html

2.   www.xxx.com/a.html   跳到  https://www.xxx.com/a.html

3.   https://xxx.com/a.html   跳到  https://www.xxx.com/a.html

完事。
推荐
发表于 2018-5-1 21:30:52 | 只看该作者
rewrite ^/(.*)$ https://www.xxx.com/$1 permanent;
23#
发表于 2018-5-1 23:10:39 | 只看该作者
guoaibing 发表于 2018-5-1 23:07
server
    {
        listen 80;

我也是啊。。。我给的配置也是在用测试通过的。。。目测firefox缓存问题
22#
发表于 2018-5-1 23:07:44 | 只看该作者
akige 发表于 2018-5-1 22:45
大佬 按照你这个配置 真的有问题 。你去测试下。我看着语法也没问题。就是不行。。。。 ...


server {
  listen 80;
  listen [::]:80;
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  #RSA
  ssl_certificate /root/ssl/strelizia.org_RSA.crt;
  ssl_certificate_key /root/ssl/strelizia.org_RSA.key;
  #ECC
  ssl_certificate /root/ssl/strelizia.org_ECC.crt;
  ssl_certificate_key /root/ssl/strelizia.org_ECC.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384HE-RSA-AES128-GCM-SHA256HE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHAHE-RSA-AES128-SHA256HE-RSA-AES128-SHAHE-RSA-AES256-SHA256HE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHAES-CBC3-SHA:!DSS;
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  add_header Strict-Transport-Security max-age=15768000;
  ssl_stapling on;
  ssl_stapling_verify on;
  server_name strelizia.org www.strelizia.org;
  if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
  if ($host != strelizia.org) {  return 301 $scheme://strelizia.org$request_uri;  }

对着看看 双证书部分无视即可
21#
发表于 2018-5-1 23:07:18 | 只看该作者
server
    {
        listen 80;
                server_name xxx.com www.xxx.com;
                return 301 https://www.xxx.com$request_uri;
    }
server
    {
        listen 443 ssl http2;
                if ($host = xxx.com) {
                return 301 https://www.xxx.com$request_uri;
    }

刚好最近也做了个一样跳转。。。完全没问题
20#
发表于 2018-5-1 22:52:04 | 只看该作者
akige 发表于 2018-5-1 22:45
大佬 按照你这个配置 真的有问题 。你去测试下。我看着语法也没问题。就是不行。。。。 ...


怎么感觉是你firefox的缓存 ,换个浏览器或者硬清空缓存试试看
还有 firefox的跳转记录也可以发上来
19#
 楼主| 发表于 2018-5-1 22:45:16 | 只看该作者
陈道临 发表于 2018-5-1 22:11
server {
  listen 80;
  listen [::]:80;

  1. server
  2.         {
  3.                 listen 80;
  4.                 listen [::]:80;
  5.                 listen 443 ssl http2;
  6.                 listen [::]:443 ssl http2;
  7.                 server_name www.mysite.com mysite.com;
  8.                
  9.                 if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
  10.                 if ($host != www.mysite.com) {  return 301 $scheme://www.mysite.com$request_uri;}
  11.                
  12.                
  13.                
  14.         ssl on;
  15.         ssl_certificate /usr/local/nginx/conf/ssl/www.mysite.com/fullchain.cer;
  16.         ssl_certificate_key /usr/local/nginx/conf/ssl/www.mysite.com/www.mysite.com.key;
  17.         ssl_session_timeout 5m;
  18.         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  19.         ssl_prefer_server_ciphers on;
  20.         ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
  21.         ssl_session_cache builtin:1000 shared:SSL:10m;
  22.         # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
  23.         ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
  24.         
  25.         
  26.         index index.html index.htm index.php default.html default.htm default.php;
  27.                
  28.         root  /home/wwwroot/www.mysite.com;
  29.         
  30.         include rewrite/laravel.conf;
  31.                
  32.         include enable-php-pathinfo.conf;

  33.                
  34.         location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
  35.         {
  36.                 expires      30d;
  37.         }

  38.         location ~ .*\.(js|css)?$
  39.         {
  40.                 expires      12h;
  41.         }

  42.         location ~ /.well-known {
  43.                 allow all;
  44.         }

  45.         location ~ /\.
  46.         {
  47.                 deny all;
  48.         }

  49.         access_log  /home/wwwlogs/www.mysite.com.log;
  50.         }
复制代码


大佬 按照你这个配置 真的有问题 。你去测试下。我看着语法也没问题。就是不行。。。。
18#
发表于 2018-5-1 22:34:09 | 只看该作者
akige 发表于 2018-5-1 22:32
能贴一个完整的。你测试过的吗?我看着你配的貌似是那个逻辑,但是测试确实不行。跟我之前写的情况有点类 ...

发个url来看看吧  
17#
 楼主| 发表于 2018-5-1 22:32:47 | 只看该作者
陈道临 发表于 2018-5-1 22:11
server {
  listen 80;
  listen [::]:80;

能贴一个完整的。你测试过的吗?我看着你配的貌似是那个逻辑,但是测试确实不行。跟我之前写的情况有点类似。
16#
 楼主| 发表于 2018-5-1 22:31:17 | 只看该作者
陈道临 发表于 2018-5-1 22:11
server {
  listen 80;
  listen [::]:80;

还是有问题。。大佬你测试过吗?
15#
 楼主| 发表于 2018-5-1 22:21:11 | 只看该作者
ponyxx 发表于 2018-5-1 22:12
为何不试试meta跳转?

想在服务端做
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-15 11:40 , Processed in 0.073906 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表