nginx 配置自动跳转https

nginx 配置自动跳转https

强制所有请求使用SSL / TLS

此server阻止块强制所有访问者使用到您站点的安全(SSL / TLS)连接。

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

有关NGINX重写规则的其他一些博客也使用了此用例的if测试和rewrite指令

# NOT RECOMMENDED
if ($scheme != "https") {
    rewrite ^ https://www.mydomain.com$uri permanent;
}

或者

# NOT RECOMMENDED
if ($scheme != "https") {
    rewrite ^(.*)$ https://www.mydomain.com$1 permanent;
}
return指令

return指令是两个通用指令中的简单指令
因此,我们建议使用它而不是rewrite

示例:将客户端重定向到新域名

server {
    listen 80;
    listen 443 ssl;
    server_name www.old-name.com;
    return 301 $scheme://www.new-name.com$request_uri;
}

该 return 指令告诉 NGINX 停止处理请求,并立即向301 (Moved Permanently)客户端发送代码和指定的重写URL
重写的URL使用两个 NGINX 变量来捕获和复制原始请求URL中的值:$scheme 是协议(http或https)
$request_uri 是包含参数的完整URI

对于系列中的代码,该参数定义新的(重写)URL

return (301 | 302 | 303 | 307) url;

对于其他代码,您可以选择定义一个文本字符串,该字符串出现在响应的主体中

  • HTTP代码的标准文本,例如Not Foundfor 404,仍包含在标头中
  • 文本可以包含NGINX变量

return (1xx | 2xx | 4xx | 5xx) ["text"];

例如,当拒绝没有有效认证令牌的请求时,此指令可能是合适的

return 401 "Access denied because token is expired or invalid";
rewrite指令

如果您需要测试URL之间的更复杂的区别

  • 捕获原始URL中没有相应NGINX变量的元素
  • 或者更改或添加路径中的元素怎么办

rewrite 语法

rewrite regex URL [flag];

rewrite指令只能返回代码301或302

示例

  • 匹配以字符串/ download开头的URL
  • 在路径的后面某个位置包含/ media /或/ audio /目录
  • 它将这些元素替换为/ mp3 /,并添加适当的文件扩展名.mp3或.ra
server {
    # ...
    rewrite ^(/download/.*)/media/(\w+)\.?.*$ $1/mp3/$2.mp3 last;
    rewrite ^(/download/.*)/audio/(\w+)\.?.*$ $1/mp3/$2.ra  last;
    return  403;
    # ...
}

last示例中的标志是其中之一

  • 它告诉NGINX跳过当前server或location块中的任何后续Rewrite-module指令
  • 并开始搜索location与重写的URL相匹配的新标志

return此示例中的最终指令意味着,如果URL与任一rewrite指令都不匹配,则代码403将返回给客户端

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值