我遇到了这种情况。存储此 nginx 配置的当前 VM 具有有效的 SSL 证书。此 VM 内部是app1
端口 80 中提供的主要应用程序。在另一个端口 1234 上,另一个服务在 docker 容器中提供。我设法像这样app2
反向代理app2
location /app2/ {
proxy_pass http://127.0.0.1:1234/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
proxy_redirect http://127.0.0.1:3888/ http://127.0.0.1:8080/vnc/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Protocol $scheme;
}
app2
可以通过以下方式访问https://mywebsite.com/app2
现在我在另一个虚拟机中有一个 Laravel 应用程序app3
(不在 Docker 容器中)。我执行了相同的过程。当我转到https://websited.com/app3它只加载 html 部分,而不加载 javascript 和 css。Mozilla 控制台上的错误显示为
Blocked loading mixed active content “http://mywebsite.com/css/style.css”
据我了解,它应该查看存储的 VM 的资源app3
。如何让 nginx 加载app3
js 和 css 等资源?
答案1
您需要在 Laravel 应用程序中设置根 URL,以便 Laravel 为其引用的资源生成正确的 URL。
https://stackoverflow.com/questions/35304448/laravel-change-base-url有关于如何做的信息。