繁体   English   中英

使用Docker设置自签名SSL反向代理时无法在Laravel项目中加载资产

[英]Can't load assets in Laravel project when setting up a self-signed SSL reverse proxy with Docker

我想为我的开发 Laravel项目设置HTTPS,因为我想使用Facebook登录(这也要求开发环境也需要HTTPS)

我正在关注本教程: https : //medium.com/@oliver.zampieri/self-signed-ssl-reverse-proxy-with-docker-dbfc78c05b41

它基本上说如下:

创建自签名证书:

openssl req -subj '/CN=my-sitename.development' -x509 -newkey rsa:4096 -nodes -keyout key.pem -out cert.pem -days 365

查找到主机的路由:Docker在自己的沙箱中运行容器,因此,当容器在桥接网络中运行时,我们需要知道主机的IP地址是什么(如果我们路由到localhost或127.0.0.1,我们将代理回到容器,相反,我们需要路由到主机)

docker network inspect bridge

=>这给我们172.17.0.1

现在创建NginX配置文件:

server {
    listen 443;

    # I've added this myself
    server_name my-sitename.development;

    ssl on;
    ssl_certificate /etc/nginx/conf.d/cert.pem;
    ssl_certificate_key /etc/nginx/conf.d/key.pem;

    location / {
        proxy_pass http://172.17.0.1;
    }
}

运行Docker容器

docker run --name nginx_proxy -d -v `pwd`:/etc/nginx/conf.d -p 443:443 nginx

最后但并非最不重要的一点是,我在Mac钥匙串中添加了创建的证书,并将其设置为“始终信任”。

当我在浏览器(Chrome v67)中打开(https)本地站点时,它会告诉我证书有效且网站正在运行(我可以看到我的站点文本等。),除了资产。

对资产的请求如下所示:我认为这可能不对,但是我不确定为proxy_pass配置输入什么(请参见上文)。 为proxy_pass输入my-sitename.development无效。 然后将我重定向到nginx_proxy docker容器的默认nginx页面。

https://172.17.0.1/css/all.css

请注意:我正在运行另一个Nginx Docker容器来处理对my-sitename.development:80的请求

谢谢!

解决了! 毕竟不需要设置额外的Docker容器...可以只编辑我现有Docker容器的nginx配置(处理:80连接)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM