docker - 如何使用 ngrok 正确公开 docker 服务器?
问题描述
我在我的机器上运行了一个 docker 安装,我可以通过访问mysite.local
(定义为映射到 hosts 文件中的 127.0.0.1)在我的浏览器上访问该站点
当我运行ngrok http mysite.local
它时它工作正常但是当我打开http://random_id.ngrok.io链接时
- ngrok 控制台显示:
GET / 301 永久移动
- 我收到一个 NET::ERR_CERT_COMMON_NAME_INVALID 错误,如果我点击高级->继续... http://random_id.ngrok.io (unsafe),它只会显示
这条规则毫无价值,.htaccess
即使它对我来说看起来不错
RewriteCond %{HTTP_HOST} !^mysite.local
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
UPDATE ngrok http -host-header=rewrite mysite.local
似乎确实有效,但是:css 和其他资产无法加载(.htaccess 中唯一与 css 相关的规则是AddType text/css .chunk.css AddType text/css .css
:)
解决方案
看起来重写规则对我来说是个问题。
您的规则规定:
如果 http 主机不以开头
mysite.local
,则重定向到https://www.HOST/[...]
我建议要么完全删除重写规则,要么使用 ngrok 的http 主机头重写功能:
ngrok http -host-header=rewrite mysite.local
推荐阅读
- java - NfcAdapter 不可为空,但由 @Provides @Singleton @javax.annotation.Nullable android.nfc.NfcAdapter 提供
- javascript - 如何将我自己的脚本加载到 Firefox 扩展的选项卡中?
- javascript - Call a function if not an element was clicked in svg, but other elements using d3.js v5.4.0
- c++ - 在 Makefile 中添加 INCLUDE、LIB 和 LD_LIBRARY_PATH
- python - Tensorflow - 用于手写识别的 NaN 损失
- reactjs - React Native Navigation 如何推送屏幕?(无法读取未定义的属性推送)
- selenium - 黄瓜,示例:如何验证该值与相邻列中的值完全相同
- python - 使用 mplot3d 将数据绘制到盒子而不是金字塔中的方式
- excel - 根据多个条件返回值
- c++ - Intel C++ 编译器 18.0 update 3 in vs 2017 上的四倍精度浮点支持