利用Nginx的rewrite来实现自动跳转
任意链接都跳转到指定页面
需要部署一个服务在 Kubernetes 内, 需要实现通过 ingress 可以访问到, 本来是很简单的事情, 但是由于访问来源的 location 不确定,为了避免报错 404,所以用 Nginx 的 rewrite 来实现
Nginx 配置如下(所有 location 转发到 index.html):
1 | server { |
自动跳转 https
配置文件如下:
使用 return
1 | server { |
使用 rewrite
rewrite
性能消耗更大,但是支持更复杂的规则,只是跳转到 https 建议使用 return 301
1 | if ( $scheme = http ){ |
判断 Header
1 | if ($http_user_agent !~* "(Go-http-client/.*|.*Safari.*)") { |
直接返回内容
比如备案、或者各种认证, 证明网站属于自己,通常会给一个 txt 文件让放在网站根目录,其实可以使用这种方法来实现
1 | location /098x6OP2Qq.txt { |
返回请求者 IP
实现一个获取公网 ip 的小工具,类似于 curl ip.sb
可以直接在终端获得公网 ip。
1 | location /ip { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
评论