https 域名访问是依旧加载 http 的样式资源,请问各位这个如何解决?

项目重新部署域名改成https的再次访问项目,项目的js与css都没有加载出来,引入的css和js依旧是http引入,关于这一点有没有什么地方需要配置的,如何才能让https的域名访问到http的资源,是需要跨域么?配置的域名是http的,是不是还需要配置一个https的域名以便能够默认加载?希望能够得到解决,谢谢。

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 21

如果没记错,是要设置一个重定向,把所有http资源指向https

6年前 评论

nginx配置:

server {
    listen 80;
    server_name localhost;
    location / {
          rewrite ^(.*)$  https://$host$1 permanent;
    }
}
6年前 评论
leo

https 页面不能加载 http 协议的 js 和 css,浏览器限制,静态文件也上 https 吧

6年前 评论

@leo 但是用https的访问这些样式却访问不到,框架里面有没有关于这方面的配置

6年前 评论

@中国天妖 这个试了一下效果不是太好

6年前 评论
leo

@北哥 访问不到具体什么报错

6年前 评论

@leo 不好意思,可以访问得到,之前应该是换错了,现在获取路径用的都是这样的“ ” 现在都改成https的是不是这个asset 引用就不能用了,用什么代替这个引入

6年前 评论
  <link rel="stylesheet" href="{{ asset('drafts/css/daterangepicker.min.css') }}">
6年前 评论

@宋小北 这也是一个引用方法吗,网上没有这个方面的使用办法呀

6年前 评论

@宋小北 现在报这个错“ Mixed Content: The page at 'https://nesanagevpc.cdvcloud.com/#menuWork...' was loaded over HTTPS, but requested an insecure stylesheet 'http://nesanagevpc.cdvcloud.com/drafts/css...'. This request has been blocked; the content must be served over HTTPS. ”

6年前 评论

@北哥 你这还是https下引入了http的静态资源,用secure_asset,前提是静态资源支持https

6年前 评论

@宋小北 是吧样式中的asset或者 URL::asset换成secure_asset加载么?
代码是这样引得:

<link rel="stylesheet" href="{{  URL::asset('drafts/css/gradeConfig.css') }}">
<link rel="stylesheet" href="{{ asset('drafts/css/draftSeries.css') }}">
6年前 评论
一冉再

@北哥
我跟你遇到了一样的问题,请问您是怎么解决的呢?

6年前 评论

@断了再续上 所有的资源引用都换成了这个如图:

file

6年前 评论
一冉再

@北哥
能解释下为什么?我查看了文档asset会区分http和https的,实际上并没有.
所以secure_asset是怎么说?

6年前 评论

@断了再续上 secure_asset这个方式在文档里面是没有说明的,但是框架里面好像是有这个方法的,涉及到了https,具体什么原因我也不是太了解,你可以问题这位@宋小北

6年前 评论

不知道这个能否解决你的问题

在app\Providers\下修改AppServiceProvider.php
/**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {

        $this->app['request']->server->set('HTTPS',true);
    }
6年前 评论
<?php

namespace App\Providers;

use Illuminate\Routing\UrlGenerator;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot(UrlGenerator $url)
    {
        if (starts_with(env('APP_URL'), 'https')) {
            $url->forceScheme('https');
        }
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

完美解决

不要用楼上的secure_asset
这样你本地开发怎么办?

5年前 评论
PHPer技术栈 3年前

在config/admin.php配置文件中,修改 'https' => env('ADMIN_HTTPS', true), ADMIN_HTTPS=true, 清除env文件缓存,php artisan config:clear php artisan config:cache,刷新页面即可(注:本地环境要支持HTTPS请求)

3年前 评论

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