Last active
April 22, 2024 14:52
-
-
Save hjbotha/f64ef2e0cd1e8ba5ec526dcd6e937dd7 to your computer and use it in GitHub Desktop.
Free ports 80 and 443 on Synology NAS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash | |
# NEWLY ADDED BACKUP FUNCTIONALITY IS NOT FULLY TESTED YET, USE WITH CARE, ESPECIALLY DELETION | |
# Developed for DSM 6 - 7.0.1. Not tested on other versions. | |
# Steps to install | |
# Save this script in one of your shares | |
# Edit it according to your requirements | |
# Backup /usr/syno/share/nginx/ as follows: | |
# # cd /usr/syno/share/ | |
# # tar cvf ~/nginx.tar nginx | |
# Run this script as root | |
# Reboot and ensure everything is still working | |
# If not, restore the backup and post a comment on this script's gist page | |
# If it did, schedule it to run as root at boot | |
# through Control Panel -> Task Scheduler | |
HTTP_PORT=81 | |
HTTPS_PORT=444 | |
BACKUP_FILES=true # change to false to disable backups | |
BACKUP_DIR=/volume1/apps/free_ports/backup | |
DELETE_OLD_BACKUPS=false # change to true to automatically delete old backups. | |
KEEP_BACKUP_DAYS=30 | |
DATE=$(date +%Y-%m-%d-%H-%M-%S) | |
CURRENT_BACKUP_DIR="$BACKUP_DIR/$DATE" | |
if [ "$BACKUP_FILES" == "true" ]; then | |
mkdir -p "$CURRENT_BACKUP_DIR" | |
cp /usr/syno/share/nginx/*.mustache "$CURRENT_BACKUP_DIR" | |
fi | |
if [ "$DELETE_OLD_BACKUPS" == "true" ]; then | |
find "$BACKUP_DIR/" -type d -mtime +$KEEP_BACKUP_DAYS -exec rm -r {} \; | |
fi | |
sed -i "s/^\([ \t]\+listen[ \t]\+[]:[]*\)80\([^0-9]\)/\1$HTTP_PORT\2/" /usr/syno/share/nginx/*.mustache | |
sed -i "s/^\([ \t]\+listen[ \t]\+[]:[]*\)443\([^0-9]\)/\1$HTTPS_PORT\2/" /usr/syno/share/nginx/*.mustache | |
if which synoservicecfg; then | |
synoservicecfg --restart nginx | |
else | |
synosystemctl restart nginx | |
fi | |
echo "Made these changes:" | |
diff /usr/syno/share/nginx/ $CURRENT_BACKUP_DIR 2>&1 | tee $CURRENT_BACKUP_DIR/changes.log |
This no longer works as of DSM 7.2. There's still a process remaining for nginx that uses port 443.
@KComrade53 I'm running 7.2.1. Have you made sure to double check all the DSM settings to make sure nothing is proxied or enabled? Have you tried to restart nginx / the nas?
@apearson I changed no settings, I just updated my synology to 7.2.1. I run the free_ports command as a scheduled task on boot and before the update it worked fine, but now netstat shows port 443 in use by nginx
I just wanted to let you know:
I have updated my Synology DS918+ with my modified Script from 6.2 to 7.1.
I had nothing to do to make the dockerizes NGNIX working after the updates.
Just installed the DSM Updates, reboot, still working! :-)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Why can't we use 5000/5001?