我正在 Windows 10 上的 Visual Studio Code 中开发一个程序,它启动一个 HTTP 服务器并尝试绑定到localhost:8000
。
当我在 VSCode 中单击“运行测试”来运行此程序的测试时,会创建并执行一个临时二进制文件。发生这种情况时,Windows 防火墙会阻止对的访问locahost:8000
,并提示我允许访问以供将来执行。
生成的测试二进制文件如下所示:
C:\users\<my user>\appdata\local\temp\go-build297997386\b001\<myapp>.test.exe
C:\users\<my user>\appdata\local\temp\go-build683612242\b001\<myapp>.test.exe
C:\users\<my user>\appdata\local\temp\go-build304551042\b001\<myapp>.test.exe
由于二进制文件的路径不可预测,我无法创建 Windows 防火墙规则以允许该二进制文件绑定到localhost:8000
。我曾尝试创建 Windows 防火墙规则以允许所有进出 的流量localhost:8000
,但在运行测试代码时,我仍然收到相同的二进制特定提示。
关于这个话题,还有几个尚未回答和解决的问题。以下是我通过搜索找到的一些: 1 2 3 4 5
还有两种解决方案仅适用于已存在的文件,可自动创建防火墙规则: 1 2
如何让 Windows 防火墙停止阻止测试代码绑定到本地端口?
答案1
我不太清楚我做了什么,但在防火墙规则上单击“接受”大约 40 次后,它不再提示我允许访问。看来解决方案是允许访问,直到它停止提示。