是否可以在浏览器中的wasm内运行nginx?我设想了一个网页,您可以在文本框中输入一个nginx配置,然后在wasm中运行nginx,并提供一个示例请求以获得输出。
siv3szwd1#
不,这不可能。尽管你把nginx冷编译成wasm,nginx还是会尝试进行系统调用来打开套接字来处理请求。浏览器的WASM引擎不支持套接字创建,这些调用会失败,从而杀死你的程序。然而,通过一些努力,您可以修改nginx,使其不实际创建一个Web服务器,而是通过示例响应来提供它。通过避免创建一个实际的Web服务器,您应该能够获得您所描述的功能。值得承认的是,这将是非常困难的。nginx充满了您需要修补的系统调用,并且修改控制流如此主要将需要与nginx内部构件密切合作。
1条答案
按热度按时间siv3szwd1#
不,这不可能。
尽管你把nginx冷编译成wasm,nginx还是会尝试进行系统调用来打开套接字来处理请求。浏览器的WASM引擎不支持套接字创建,这些调用会失败,从而杀死你的程序。
然而,通过一些努力,您可以修改nginx,使其不实际创建一个Web服务器,而是通过示例响应来提供它。通过避免创建一个实际的Web服务器,您应该能够获得您所描述的功能。
值得承认的是,这将是非常困难的。nginx充满了您需要修补的系统调用,并且修改控制流如此主要将需要与nginx内部构件密切合作。