“Nginx http重定向到https”的版本间的差异
跳到导航
跳到搜索
第102行: | 第102行: | ||
</pre> | </pre> | ||
− | = | + | =rewrite方法good= |
<pre> | <pre> | ||
server { | server { | ||
第110行: | 第110行: | ||
rewrite ^(.*)$ https://$host$1 permanent; | rewrite ^(.*)$ https://$host$1 permanent; | ||
} | } | ||
+ | |||
+ | cat traits.d/enable-redirect-https.conf | ||
+ | if ($scheme !~ 'https') { | ||
+ | rewrite ^(/.*)$ https://$host$1 permanent; | ||
+ | } | ||
+ | |||
</pre> | </pre> | ||
− | |||
=see also= | =see also= |
2022年5月27日 (五) 12:28的版本
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; }
不同域名之间跳转
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
server { listen 192.168.1.111:80; server_name test.com; rewrite ^(.*)$ https://$host$1 permanent; } cat traits.d/enable-redirect-https.conf if ($scheme !~ 'https') { rewrite ^(/.*)$ https://$host$1 permanent; }