Nginx将http重定向到https,一直提示重定向次数过多(已解决)

这篇具有很好参考价值的文章主要介绍了Nginx将http重定向到https,一直提示重定向次数过多(已解决)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先贴一下nginx的配置

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
       listen     80;
       server_name e.com;
       # rewrite ^(.*) https://$server_name$1 permanent;
       return 301 https://$host$request_uri;
	   # gzip config
	   gzip on;
	   gzip_min_length 1k;
	   gzip_comp_level 9;
	   gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
	   gzip_vary on;
	   gzip_disable "MSIE [1-6]\.";
	   root /opt/hengze/dist;
	
        location / {
          root /dist;
          index  index.html;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
	location ^~/api/ {
        	proxy_pass https://e.com/; #修改此地址为后台服务地址
        	proxy_set_header X-Forwarded-Proto $scheme;
        	proxy_set_header Host $host:$server_port;
        	proxy_set_header X-Real-IP  $remote_addr;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        	proxy_http_version 1.1;
        	proxy_set_header Upgrade $http_upgrade;
        	proxy_set_header Connection "upgrade";
        	proxy_connect_timeout   1;
        	proxy_buffering off;
        	chunked_transfer_encoding off;
        	proxy_cache off;
        	proxy_send_timeout      30m;
        	proxy_read_timeout      30m;
        	client_max_body_size    100m;
    		}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  e.com;

        ssl_certificate      cert/e.com.pem;
        ssl_certificate_key  cert/e.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers  on;

        

        location / {
#        解决wesock问题
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Real-IP $remote_addr;

		#从这里往下三行处理前后端服务在一个服务器中
        	proxy_set_header X-Real-IP $remote_addr;
         	proxy_set_header Host $http_host;
         	proxy_pass http://localhost;
        }
    }

}

return和rewrite都已经试过了,都是多次重定向导致无法进入页面

后续在https区域中将连接后端地址的api区域复制过来后,再加上下方代码完美解决

#将所有HTTP请求通过rewrite指令重定向到HTTPS。

rewrite ^(.*)$ https://$host$1;文章来源地址https://www.toymoban.com/news/detail-826246.html

到了这里,关于Nginx将http重定向到https,一直提示重定向次数过多(已解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IIS 实现http重定向https(亲测有效:解决URL重写模块配置https重定向不生效的问题)

    以前部署网站的时候,都是通过代码来实现http重定向https,最近在部署个人网站的时候,突发奇想可不可通过IIS来实现无代码的重定向呢? 在一番操作猛如虎的搜索引擎操作后,发现只有google浏览器能实现重定向,在反复对照网络教程后陷入了深深的自我怀疑。最后不得已只

    2024年02月02日
    浏览(57)
  • Nginx常用配置-反向代理-https重定向-端口转发

    二级目录映射 目前前后端项目分离场景多了以后,一般是前端一个端口,后端一个端口。 如前端是https://example.com/index.html,调用的接口是https://example.com:4433 如此部署对于一些小项目未免有些麻烦,当然你在公网环境下也可以选择使用子域名、其他域名进行跨域访问。 这里说

    2024年02月16日
    浏览(40)
  • IIS实现http跳转https的重定向方法

    1、安装SSL证书;2、下载安装URL Rewrite模块;3、配置“URL重写”规则,或者修改web.config配置文件。 首先安装SSL证书。 URL ReWrite扩展下载地址 https://www.iis.net/downloads/microsoft/url-rewrite 下载URL Rewrite安装工具rewrite_amd64_zh-CN.msi:  下载完成随后安装:    安装完成后,退出IIS管理器

    2024年02月13日
    浏览(50)
  • IIS配置URL重写,http重定向https

    作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/131004077 IIS配置URL重写,http重定向https ,http怎么重定向到https最全解决方案,安装iis插件,URL重写,配置重定向。URL重写是指服务器程序对接收的URL请求重新写成网站可以处理的另一个URL的过程。URL重写技术是实

    2024年02月09日
    浏览(38)
  • Minio nginx配置https和http问题解决,疑难症全网首发

    进入下面小程序可以体验效果 :   以下问题基本上是因为NGINX代理出现 一、API直接返回单独的错误: io.minio.errors.ErrorResponseException: Access denied 二、API直接返回的错误:The request signature we calculated does not match the si 三、预览文件或者图片返回错误 以上三个问题都属于Access den

    2024年02月13日
    浏览(50)
  • WIN11家庭版由于失败的登录次数过多或重复关机,此登录选项已被禁用。请使用其他登录选项,或者保持设备开机至少2小时,然后重试解决方法

    如果在Windows 11中输入gpedit.msc后提示找不到文件,可能是因为您使用的Windows版本是Home版,该版本没有包含组策略编辑器(gpedit.msc)功能。此时您需要升级到专业版、教育版或企业版才能使用组策略编辑器。 如果您无法升级到适合的Windows版本,可以尝试其他方法来禁用账户锁

    2024年02月11日
    浏览(802)
  • yum安装nginx、源码安装、nginx开机自启、配置多域名与重定向、反向代理、配置IPv6、获取证书与配置证书https

    可以使用yum直接安装nginx:yum -y install nginx,如果安装报错,可以换个yum源试试 源码安装提供更大的灵活性,但需要更多的手动管理,而Yum安装则更方便 yum源镜像站,阿里云的推荐:https://developer.aliyun.com/mirror/ 常用的镜像:epel和centos,根据提示命令直接安装即可 然后执行:

    2024年02月20日
    浏览(70)
  • 【STM32笔记】HAL库UART串口配置及重定向(解决接收中断与scanf不能同时工作、重定向卡死、低功耗一直唤醒的问题)

    【STM32】HAL库UART串口配置及重定向(解决接收中断与scanf不能同时工作、重定向卡死、低功耗一直唤醒的问题) 注意:这里用的编译器版本为ARMCC(也就是第5代编译器 而不是AC6) 首先 要使用printf和scanf 必不可少的就是 这里需要做的就是配置单片机的UART 并且使其能够被pri

    2023年04月08日
    浏览(48)
  • nginx http 跳转到https

    改 Nginx 配置文件 在您安装了 SSL 证书之后,您需要修改 Nginx 的配置文件以启用 HTTPS 和 HTTP 自动跳转 HTTPS。 打开 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf ),找到您的网站配置块。在该配置块中添加以下内容: 该配置块包括两个部分: 第一个部分监听 HTTP(端口 80),并

    2024年02月06日
    浏览(57)
  • Nginx配置http跳转https

    Nginx 可通过多种方式实现 http 跳转 https,以下列出各种方式的实现方法。 这是 Nginx 新版本的写法,推荐使用。在 Nginx 80 监听服务上加一行: 完整配置如下: Nginx 老版本的写法,不推荐使用。将 “#http跳转https” 这行修改为: 或 将 “#http跳转https” 这行修改为: 写一个

    2024年02月13日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包