小编Ten*_*aru的帖子

具有 Ingress 设置的 GKE 始终显示状态不健康

首先,我在https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer 上测试了教程

这工作正常。我还测试了相同的教程,但也添加了一个 tls 秘密来测试 https,它也运行良好。

当我创建自己的图像时,我的问题就出现了。这是我采取的步骤:

  1. Dockerfile:
     # 我们将我们的舞台标记为“builder”
     FROM node:9.4.0-alpine 作为构建器

     复制 package.json package-lock.json ./

     ## 将节点模块存储在单独的层上将防止在每次构建时安装不必要的 npm
     运行 npm i && mkdir /srv/cs-ui && cp -R ./node_modules ./srv/cs-ui

     工作目录 /srv/cs-ui

     复制 。.

     ## 在生产模式下构建 angular 应用程序并将工件存储在 dist 文件夹中
     运行 $(npm bin)/ng build --environment "prod"

     从 nginx

     ## 复制我们的默认 nginx 配置
     复制 nginx/default.conf /etc/nginx/conf.d/

     ##删除默认的nginx网站
     运行 rm -rf /usr/share/nginx/html/*

     ## 从“builder”阶段将 dist 文件夹中的工件复制到默认的 nginx nginx 公共文件夹
     复制 --from=builder /srv/cs-ui/dist /usr/share/nginx/html/
  1. Dockerfile 与 docker-compose 文件一起运行,如下所示:
版本:'2'
服务: …

google-cloud-platform kubernetes google-kubernetes-engine docker-ingress

6
推荐指数
1
解决办法
1110
查看次数

Nginx 将 http 重定向到 https 并通过一次重定向删除尾部斜杠

我想将 http 重定向到 https 并通过一次重定向删除 nginx 中的尾部斜杠。我今天的解决方案如下:

server {
    listen 80;
    server_name www.example.com
    rewrite ^/(.*)/$ /$1 permanent;
    return 301 https://$host$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

这个解决方案的问题是它会给出两个重定向

给出两个重定向:

http://www.example.com/test/ --> http://www.example.com/test
http://www.example.com/test --> https://www.example.com/test
Run Code Online (Sandbox Code Playgroud)

是否有可能制定一个解决方案,让您只能获得一个像下面这样的重定向?

http://www.example.com/test/ --> https://www.example.com/test
Run Code Online (Sandbox Code Playgroud)

当我查看 nginx 重写和返回方法的文档时,我觉得应该可以以某种方式通过一次重写来完成它:

rewrite ^/(.*)/$ https://$host$request_uri permanent;
Run Code Online (Sandbox Code Playgroud)

但我尝试过的任何东西都没有给我正确的结果。

redirect nginx url-rewriting

5
推荐指数
1
解决办法
1448
查看次数