translate /config/transports/httpupgrade.md
							parent
							
								
									29735ec67a
								
							
						
					
					
						commit
						c551ef8457
					
				| 
						 | 
				
			
			@ -0,0 +1,53 @@
 | 
			
		|||
# HTTPUpgrade
 | 
			
		||||
 | 
			
		||||
Это протокол, реализующий запросы и ответы на обновление HTTP 1.1, подобно WebSocket. Это позволяет ему, как и WebSocket, быть проксируемым CDN или Nginx, но без необходимости реализации других частей протокола WebSocket, что делает его более эффективным.
 | 
			
		||||
 | 
			
		||||
Его дизайн не рекомендуется для самостоятельного использования, а лучше всего работает в сочетании с TLS.
 | 
			
		||||
 | 
			
		||||
## HttpUpgradeObject
 | 
			
		||||
 | 
			
		||||
`HttpUpgradeObject` соответствует пункту `httpupgradeSettings` в настройках передачи.
 | 
			
		||||
 | 
			
		||||
```json
 | 
			
		||||
{
 | 
			
		||||
  "acceptProxyProtocol": false,
 | 
			
		||||
  "path": "/",
 | 
			
		||||
  "host": "xray.com",
 | 
			
		||||
  "headers": {
 | 
			
		||||
    "key": "value"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
> `acceptProxyProtocol`: true | false
 | 
			
		||||
 | 
			
		||||
Используется только для входящих соединений и указывает, принимать ли протокол PROXY.
 | 
			
		||||
 | 
			
		||||
[PROXY protocol](https://www.haproxy.org/download/2.2/doc/proxy-protocol.txt) предназначен для передачи реального IP-адреса и порта запроса. **Если вы не знакомы с ним, проигнорируйте этот пункт.**
 | 
			
		||||
 | 
			
		||||
Распространенные программы для reverse прокси (например, HAProxy, Nginx) и VLESS fallbacks xver могут быть настроены для его включения.
 | 
			
		||||
 | 
			
		||||
При установке значения `true`, после установления TCP-соединения на самом нижнем уровне, запрашивающая сторона должна сначала отправить PROXY protocol v1 или v2, в противном случае соединение будет закрыто.
 | 
			
		||||
 | 
			
		||||
> `path`: string
 | 
			
		||||
 | 
			
		||||
HTTP-путь, используемый HTTPUpgrade, по умолчанию `"/"`.
 | 
			
		||||
 | 
			
		||||
Если в пути клиента содержится параметр `ed` (например, ```/mypath?ed=2560```), будет активирована функция `Early Data` для уменьшения задержки, ее значение - порог длины первого пакета. Если длина первого пакета превышает это значение, `Early Data` не будет активирована. Рекомендуемое значение - 2560.
 | 
			
		||||
 | 
			
		||||
> `host`: string
 | 
			
		||||
 | 
			
		||||
Хост, отправляемый в HTTP-запросе HTTPUpgrade, по умолчанию пустой. Если значение на стороне сервера пустое, значение хоста, отправляемое клиентом, не проверяется.
 | 
			
		||||
 | 
			
		||||
Когда на стороне сервера указано это значение или в `headers` указан хост, будет проверено соответствие хоста запроса клиента.
 | 
			
		||||
 | 
			
		||||
Приоритет выбора хоста, отправляемого клиентом: `host` > `headers` > `address`
 | 
			
		||||
 | 
			
		||||
> `headers`: map \{string: string\}
 | 
			
		||||
 | 
			
		||||
Пользовательские HTTP-заголовки, пара ключ-значение, где каждый ключ представляет имя HTTP-заголовка, а соответствующее значение - строка.
 | 
			
		||||
 | 
			
		||||
По умолчанию пустое.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue