Laravel默认请求的地址不是http://ip:端口,而是https://ip:端口

  1. 问题描述
    Laravel在首页点击项目名的按钮会直接请求https://ip:端口,但是在F12中显示的是http://ip:端口,怀疑是重定向了

  2. 配置相关
    服务器是腾讯云的
    Laravel版本是8.x
    Nginx配置如下:

    server {
     listen 80;
     server_name ip地址;
     root /var/www/html/book/public;
    
     index index.php index.html index.htm index.nginx-debian.html;
    
     location / {
         try_files $uri $uri/ /index.php?$query_string;
     }
    
     location ~ \.php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
     }
    }

    .env配置如下:

     APP_NAME=项目名
     APP_ENV=local
     APP_KEY=base64:XnemSN49H786mWWm05VzFrpCiiFVQtRm4/SurtNS9Lk=
     APP_DEBUG=true
     APP_URL=http://ip:80
    
     LOG_CHANNEL=stack
     LOG_LEVEL=debug
    
     DB_CONNECTION=mysql
     DB_HOST=127.0.0.1
     DB_PORT=3306
     DB_DATABASE=book
     DB_USERNAME=root
     DB_PASSWORD=
    
     BROADCAST_DRIVER=log
     CACHE_DRIVER=file
     QUEUE_CONNECTION=sync
     SESSION_DRIVER=database
     SESSION_LIFETIME=120
    
     REDIS_HOST=127.0.0.1
     REDIS_PASSWORD=null
     REDIS_PORT=6379
    
     MAIL_MAILER=smtp
     MAIL_HOST=smtp.mailtrap.io
     MAIL_PORT=2525
     MAIL_USERNAME=null
     MAIL_PASSWORD=null
     MAIL_ENCRYPTION=null
     MAIL_FROM_ADDRESS=null
     MAIL_FROM_NAME="${APP_NAME}"
    
     AWS_ACCESS_KEY_ID=
     AWS_SECRET_ACCESS_KEY=
     AWS_DEFAULT_REGION=us-east-1
     AWS_BUCKET=
    
     PUSHER_APP_ID=
     PUSHER_APP_KEY=
     PUSHER_APP_SECRET=
     PUSHER_APP_CLUSTER=mt1
    
     MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
     MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
  3. 做过的尝试
    既然从页面请求会直接请求https,那肯定有个地方是设置了http重定向到https,那我再写个重定向到http不就行了嘛,于是我在app/Providers/AppServiceProvider.phpboot方法中添加了

    $this->app['request']->server->set('HTTP',Request()->server('HTTP_HOST') != 'localhost');
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

可能是 chrome 自动帮你转的

3年前 评论
xiaocaiji (楼主) 3年前
xiaocaiji (楼主) 3年前
讨论数量: 3

把.env中APP_URL改成https试试

3年前 评论
xiaocaiji (楼主) 3年前

可能是 chrome 自动帮你转的

3年前 评论
xiaocaiji (楼主) 3年前
xiaocaiji (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!