java - 使用 Nginx 时缺少 HTTP 状态代码名称

标签 java spring-boot nginx load-balancing reverse-proxy

我正在使用 Nginx

redirect all HTTP requests to HTTPS

在我的 spring boot 应用程序中。这是我正在使用的 nginx 配置,我能够将所有请求重定向到 Https,但是当我这样做时,我得到正确返回的状态代码但它不再有状态代码名称。如果我删除 nginx 并单独运行 spring boot 应用程序,我可以获得带有其代码名称和代码的 http 状态。

server {

  listen 80 default_server;
  listen [::]:80 default_server;
  server_name _ ;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


  if ( $http_x_forwarded_proto != 'https' ) {
    return 307 https://$host$request_uri;
  }

  location / {
    proxy_set_header X-Forwarded-Proto http;
    proxy_pass http://localhost:7070;
      expires -1;
  }

}

如果我使用 proxy_redirect 而不是 proxy_pass,我在这里做错了什么,或者我在这里遗漏了什么。如果你能提供帮助,那就太好了。

最佳答案

在同一个配置文件中

监听 80 以将请求重定向到 https (443)

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

听433

server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;

    location / {
            # proxy pass to your app

            proxy_pass http://localhost:7070;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    }

这就是我做事的方式,并且非常适合我,干杯!

关于java - 使用 Nginx 时缺少 HTTP 状态代码名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48438068/

相关文章:

java - 如何将接口(interface)和实现分离到不同的模块中

java - 枚举作为映射键转换在 Spring Boot 2.4.1 和 Elastic Search 7.10 中不起作用

java - 为什么将页面大小调整为 7.31 x 11 尺寸后,某些内容会被裁剪掉?

java - 在 TomCat 上部署 Jersey 代码后出现异常

java - 如何创建80x86模拟器?

java - 异步消息传递和微服务

nginx - 如何配置 nginx 以将其 error.log 文件放在我有写权限的地方?

reactjs - 在 react SPA 中自动登录的 localStorage 中 JWT 的替代方案?

docker - 将VuePress与docker和NGINX传递一起使用

java - jsp下载文件大小