如何在nginx配置文件中设置最大mss

如何在nginx配置文件中设置最大mss,nginx,networking,tcp,proxy,network-programming,Nginx,Networking,Tcp,Proxy,Network Programming,我正在使用nginx作为代理,我想知道如何在nginx配置中调整mss大小的最大大小。我还没有找到任何相关的配置选项。有什么想法吗?我想您指的是-它设置了传出TCP数据包的最大段大小。有一种方法可以添加该功能,但似乎没有被接受。因此,有效限制MSS的唯一方法是在连接Nginx的网络接口上设置MTU。这是因为MSS总是小于接口MTU。但这将影响绑定到该接口的所有进程。e、 g将eth0 MTU更改为1492: sudo ip link set eth0 mtu 1492 正如您在评论中提到的,N

我正在使用nginx作为代理,我想知道如何在nginx配置中调整mss大小的最大大小。我还没有找到任何相关的配置选项。有什么想法吗?

我想您指的是-它设置了传出TCP数据包的最大段大小。有一种方法可以添加该功能,但似乎没有被接受。因此,有效限制MSS的唯一方法是在连接Nginx的网络接口上设置MTU。这是因为MSS总是小于接口MTU。但这将影响绑定到该接口的所有进程。e、 g将eth0 MTU更改为1492:

sudo ip link set eth0 mtu 1492

正如您在评论中提到的,Nginx
delayer\u output
选项确实与MSS相关——正如它应该设置为MSS一样——尽管它默认为1460(这是IPv4的常见MSS,但不适用于IPv6)。但正如@Ron评论中所述,MSS不能直接设置在应用程序级别,因为它是在每个连接的TCP级别协商的(因此它可以更改)-这可以通过MSS钳制来执行,也可以通过MSS钳制来执行(网络实体更改SYN和SYNACK数据包TCP头中的MSS TCP选项).

我想您指的是-它设置了传出TCP数据包的最大段大小。有一种方法可以添加该功能,但似乎没有被接受。因此,有效限制MSS的唯一方法是在连接Nginx的网络接口上设置MTU。这是因为MSS总是小于接口MTU。但这将影响绑定到该接口的所有进程。e、 g将eth0 MTU更改为1492:

sudo ip link set eth0 mtu 1492

正如您在评论中提到的,Nginx
delayer\u output
选项确实与MSS相关——正如它应该设置为MSS一样——尽管它默认为1460(这是IPv4的常见MSS,但不适用于IPv6)。但正如@Ron评论中所述,MSS不能直接设置在应用程序级别,因为它是在每个连接的TCP级别协商的(因此它可以更改)-这可以通过MSS钳制来执行,也可以通过MSS钳制来执行(网络实体更改SYN和SYNACK数据包TCP头中的MSS TCP选项).

这不是一个应用程序设置,它是一个TCP(传输层)设置,它是基于MTU.hmm ok thx进行响应的,但是延迟输出选项做什么呢?这不是一个应用程序设置,它是一个TCP(传输层)设置,它是基于MTU.hmm ok thx进行响应的,但是这个选项比什么都好呢?对。使用PMTUD正确设置MTU,并让TCP完成它的任务。搞乱MSS会带来无尽的麻烦,对吧。使用PMTUD正确设置MTU,并让TCP完成它的任务。搞乱MSS会带来无尽的麻烦。