“Nginx http重定向到https”的版本间的差异
跳到导航
跳到搜索
(→不同域名) |
|||
(未显示同一用户的7个中间版本) | |||
第72行: | 第72行: | ||
</pre> | </pre> | ||
− | ==不同域名之间跳转== | + | ==不同域名之间跳转 2022== |
<pre> | <pre> | ||
+ | |||
+ | |||
+ | |||
+ | server { | ||
+ | listen 80; | ||
+ | server_name kkb.old.com; | ||
+ | |||
+ | rewrite ^(.*)$ https://kkb.new.com$1 permanent; | ||
+ | |||
+ | 今天的情况是 他们没上新代码 我浪费了 半天时间 | ||
+ | |||
+ | curl -I zy.com | ||
+ | HTTP/1.1 301 Moved Permanently | ||
+ | Server: nginx/1.20.2 | ||
+ | Date: Mon, 04 Jul 2022 07:30:43 GMT | ||
+ | Content-Type: text/html | ||
+ | Content-Length: 169 | ||
+ | Connection: keep-alive | ||
+ | Location: https://qm.com/ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
server | server | ||
第80行: | 第104行: | ||
listen 443 ssl; | listen 443 ssl; | ||
server_name m.cailuw.com; | server_name m.cailuw.com; | ||
− | + | 尽量加在 证书后面 尽量前 | |
return 301 https://m.cailuw.net$request_uri; | return 301 https://m.cailuw.net$request_uri; | ||
} | } | ||
第102行: | 第126行: | ||
</pre> | </pre> | ||
− | = | + | =rewrite方法good june 2022= |
<pre> | <pre> | ||
server { | server { | ||
第110行: | 第134行: | ||
rewrite ^(.*)$ https://$host$1 permanent; | rewrite ^(.*)$ https://$host$1 permanent; | ||
} | } | ||
+ | |||
+ | 重定向https的另起一个文件 | ||
+ | cat traits.d/enable-redirect-https.conf | ||
+ | if ($scheme !~ 'https') { | ||
+ | rewrite ^(/.*)$ https://$host$1 permanent; | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | 域名配置的文件记得 include | ||
+ | include traits.d/enable-php.conf; | ||
+ | include traits.d/enable-linux.conf; | ||
+ | include traits.d/enable-redirect-https.conf; | ||
+ | } | ||
+ | |||
+ | |||
</pre> | </pre> | ||
− | |||
=see also= | =see also= |
2022年7月4日 (一) 08:10的最新版本
目录
301强制重定向
#注意 是加在 ssl cer 后面 ,加在 前面 可能当作 是 80的 不生效呢 #4 blog server { listen 80; # listen [::]:80 ipv6only=on default_server; listen 443 default ssl; #listen [::]:80; #ssl on; ssl_certificate /etc/letsencrypt/live/linuxchina.net/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxchina.net/privkey.pem; server_name linuxchina.net www.linuxchina.net; #by evan if ($scheme = http) { return 301 https://$server_name$request_uri; } #by evan # server_name blog.linuxchina.net; charset utf-8; root /data/www/evan; index index.php index.html index.htm; #简约格式 server { listen 80; ... return 301 https://$server_name$request_uri; } server { listen 443; ... }
my eg
server { listen 80; listen [::]:80; #listen 443 ssl http2; #listen [::]:443 ssl http2; server_name www.cai.net cai.net; # return 301 https://www.cai.net$request_uri; rewrite ^(.*)$ https://$host$1 permanent; } server { listen 443 ssl http2; listen [::]:443 ssl http2; # listen 443 ssl; server_name www.cai.net cailu.net; # if ( $host = 'www.cai.net' ) { # rewrite ^/(.*)$ https://www.cai.net/$1 permanent; # } #这个是不写多了呢 if ( $host = 'cai.net' ) { rewrite ^/(.*)$ https://www.cai.net/$1 permanent; }
不同域名之间跳转 2022
server { listen 80; server_name kkb.old.com; rewrite ^(.*)$ https://kkb.new.com$1 permanent; 今天的情况是 他们没上新代码 我浪费了 半天时间 curl -I zy.com HTTP/1.1 301 Moved Permanently Server: nginx/1.20.2 Date: Mon, 04 Jul 2022 07:30:43 GMT Content-Type: text/html Content-Length: 169 Connection: keep-alive Location: https://qm.com/ server { listen 80; listen 443 ssl; server_name m.cailuw.com; 尽量加在 证书后面 尽量前 return 301 https://m.cailuw.net$request_uri; }
host.com跳https:
server { listen 80; server_name xnathan.com www.xnathan.com; return 301 https://xnathan.com$request_uri; }
www 跳转非 www
if ($host = 'www.xxx.com' ) { rewrite ^/(.*)$ http://xxx.com/$1 permanent; }
rewrite方法good june 2022
server { listen 192.168.1.111:80; server_name test.com; rewrite ^(.*)$ https://$host$1 permanent; } 重定向https的另起一个文件 cat traits.d/enable-redirect-https.conf if ($scheme !~ 'https') { rewrite ^(/.*)$ https://$host$1 permanent; } 域名配置的文件记得 include include traits.d/enable-php.conf; include traits.d/enable-linux.conf; include traits.d/enable-redirect-https.conf; }