首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel + Vite + Sail超过HTTPS。有可能吗?

Laravel + Vite + Sail超过HTTPS。有可能吗?
EN

Stack Overflow用户
提问于 2022-07-19 12:10:30
回答 2查看 2.5K关注 0票数 1

经过几个小时的尝试,我觉得我太困惑了,弄不明白出了什么问题.这个标题很好地解释了我想要做的事情。我的docker-compose.yml

代码语言:javascript
运行
复制
version: '3'
services:
    mysite.test:
        build:
            context: ./docker/8.1
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.1/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
            - '443:443' //added for test but not working...
            - '${HMR_PORT:-8080}:8080'
            - '5173:5173' //Vite port
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mysql
            - minio
    mysql:
        image: 'mysql/mysql-server:8.0'
        ports:
            - '${FORWARD_DB_PORT:-3306}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ROOT_HOST: "%"
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 1
        volumes:
            - 'sail-mysql:/var/lib/mysql'
            - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
        networks:
            - sail
        healthcheck:
            test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
            retries: 3
            timeout: 5s
networks:
    sail:
        driver: bridge
volumes:
    sail-nginx:
        driver: local
    sail-mysql:
        driver: local

我的vite.config.js

代码语言:javascript
运行
复制
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
    server: {
        https: true,
        host: '0.0.0.0'
    },
    plugins: [
        laravel({
            input: [
                'resources/css/app.css',
                'resources/js/app.js',
            ],
            refresh: true
        }),
    ],
});

我的.env

代码语言:javascript
运行
复制
(...)
APP_URL=https://mysite.test
APP_SERVICE=mysite.test
(...)

该配置的结果是它使用http://mysite.test,而不是在https中工作。这一回报:

这个站点无法到达

mysite.test意外地关闭了连接.

有人给我小费吗?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2022-07-28 06:23:05

我使用下面的gist https://gist.github.com/gilbitron/36d48eb751875bebdf43da0a91c9faec成功地完成了这个任务

在完成上述所有工作之后,我在docker-compose.yml服务下向laravel.test添加了vite端口。

代码语言:javascript
运行
复制
ports:
    - '5173:5173'

同时,vite本身也需要ssl证书。

vite.config.js

代码语言:javascript
运行
复制
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';
import basicSsl from '@vitejs/plugin-basic-ssl'

export default defineConfig({
    server: {
        https: true,
        host: '0.0.0.0',
        hmr: {
            host: 'localhost'
        },
    },
    plugins: [
        basicSsl(),
        laravel({
            input: 'resources/js/app.js',
            refresh: true,
        }),
        vue({
            template: {
                transformAssetUrls: {
                    base: null,
                    includeAbsolute: false,
                },
            },
        }),
    ],
});

出于某种原因,我的应用程序生成http链接,而不是https。因此,我将以下内容添加到AppServiceProvider.phpAppServiceProvider.php方法中

代码语言:javascript
运行
复制
\URL::forceScheme('https');
票数 3
EN

Stack Overflow用户

发布于 2022-07-20 09:02:38

使用共享命令,您可以通过曝露运行https隧道。你的域名看起来就像

https://[something].expose.dev

获取真正的全局可信ssl证书只能由证书颁发机构完成,例如,让我们加密。他们需要通过http挑战dns挑战来验证您是否拥有该域。

由于您不能真正拥有.test域,所以只剩下你自己签证书并将其添加到您自己的计算机中,再加上它的根证书。但是,如果您这样做,则只有您的计算机会显示连接是安全的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73036658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档