mirror of
				https://github.com/NginxProxyManager/nginx-proxy-manager.git
				synced 2025-10-31 07:43:33 +00:00 
			
		
		
		
	- Add ability to disable ipv6, fixes #312
- Added ipv6 listening to hosts when configured, fixes #236 and #149 - Added documentation about disabling ipv6 - Updated npm packages
This commit is contained in:
		
							
								
								
									
										46
									
								
								docker/rootfs/bin/handle-ipv6-setting
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								docker/rootfs/bin/handle-ipv6-setting
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # This command reads the `DISABLE_IPV6` env var and will either enable | ||||
| # or disable ipv6 in all nginx configs based on this setting. | ||||
|  | ||||
| # Lowercase | ||||
| DISABLE_IPV6=$(echo "${DISABLE_IPV6:-}" | tr '[:upper:]' '[:lower:]') | ||||
|  | ||||
| CYAN='\E[1;36m' | ||||
| BLUE='\E[1;34m' | ||||
| YELLOW='\E[1;33m' | ||||
| RED='\E[1;31m' | ||||
| RESET='\E[0m' | ||||
|  | ||||
| FOLDER=$1 | ||||
| if [ "$FOLDER" == "" ]; then | ||||
| 	echo -e "${RED}❯ $0 requires a absolute folder path as the first argument!${RESET}" | ||||
| 	echo -e "${YELLOW}  ie: $0 /data/nginx${RESET}" | ||||
| 	exit 1 | ||||
| fi | ||||
|  | ||||
| FILES=$(find "$FOLDER" -type f -name "*.conf") | ||||
| if [ "$DISABLE_IPV6" == "true" ] || [ "$DISABLE_IPV6" == "on" ] || [ "$DISABLE_IPV6" == "1" ] || [ "$DISABLE_IPV6" == "yes" ]; then | ||||
| 	# IPV6 is disabled | ||||
| 	echo "Disabling IPV6 in hosts" | ||||
| 	echo -e "${BLUE}❯ ${CYAN}Disabling IPV6 in hosts: ${YELLOW}${FOLDER}${RESET}" | ||||
|  | ||||
| 	# Iterate over configs and run the regex | ||||
| 	for FILE in $FILES | ||||
| 	do | ||||
| 		echo -e "  ${BLUE}❯ ${YELLOW}${FILE}${RESET}" | ||||
| 		sed -E -i 's/^([^#]*)listen \[::\]/\1#listen [::]/g' "$FILE" | ||||
| 	done | ||||
|  | ||||
| else | ||||
| 	# IPV6 is enabled | ||||
| 	echo -e "${BLUE}❯ ${CYAN}Enabling IPV6 in hosts: ${YELLOW}${FOLDER}${RESET}" | ||||
|  | ||||
| 	# Iterate over configs and run the regex | ||||
| 	for FILE in $FILES | ||||
| 	do | ||||
| 		echo -e "  ${BLUE}❯ ${YELLOW}${FILE}${RESET}" | ||||
| 		sed -E -i 's/^(\s*)#listen \[::\]/\1listen [::]/g' "$FILE" | ||||
| 	done | ||||
|  | ||||
| fi | ||||
| @@ -42,4 +42,8 @@ then | ||||
| 	echo "Complete" | ||||
| fi | ||||
|  | ||||
| # Handle IPV6 settings | ||||
| /bin/handle-ipv6-setting /etc/nginx/conf.d | ||||
| /bin/handle-ipv6-setting /data/nginx | ||||
|  | ||||
| exec nginx | ||||
|   | ||||
		Reference in New Issue
	
	Block a user