![具有动态路径的可执行文件的 Windows 防火墙规则?](https://linux22.com/image/1600210/%E5%85%B7%E6%9C%89%E5%8A%A8%E6%80%81%E8%B7%AF%E5%BE%84%E7%9A%84%E5%8F%AF%E6%89%A7%E8%A1%8C%E6%96%87%E4%BB%B6%E7%9A%84%20Windows%20%E9%98%B2%E7%81%AB%E5%A2%99%E8%A7%84%E5%88%99%EF%BC%9F.png)
我正在 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 次后,它不再提示我允许访问。看来解决方案是允许访问,直到它停止提示。