Proxymanager installieren
Nginx Proxy Manager ist ein leistungsstarkes und sicheres Open-Source-Web-Application-Firewall (WAF) und Reverse-Proxy-Manager, das speziell für die Verwaltung von HTTP/HTTPS-Zugängen entwickelt wurde. Es ermöglicht die Verwaltung von Regeln zur Steuerung des Zugriffskontrolls, Sicherheitsstrategien und mehr für Ihre Webanwendungen. Installation auf Debian 11 getestet. |
Unterschiede zu den anderen Installationen:
- Es wird kein Docker Engine benötigt.
- Bezüglich dem Webserver kommt nginx Webserver zum Einsatz.
Proxymanager Web Bentuzer Schnittstelle | |
![]() |
![]() |
Bild1 Startseite | Bild 2 Dashboard |
Proxymanager installieren![]() |
# @cd @wget http://openresty.org/package/debian/pool/openresty/o/openresty-openssl111/openresty-openssl111_1.1.1k-1~buster1_amd64.deb @wget http://openresty.org/package/debian/pool/openresty/o/openresty/openresty_1.19.9.1-1~buster1_amd64.deb @wget http://openresty.org/package/debian/pool/openresty/o/openresty-pcre/openresty-pcre_8.44-1~buster1_amd64.deb @wget http://openresty.org/package/debian/pool/openresty/o/openresty-zlib/openresty-zlib_1.2.11-3~buster1_amd64.deb # über ls schauen wie Dateiname ist und sudo dpkg -i @ls @sudo dpkg -i openresty_1.19.9.1-1~buster1_amd64.deb @sudo dpkg -i openresty-openssl111_1.1.1k-1~buster1_amd64.deb @sudo dpkg -i openresty-pcre_8.44-1~buster1_amd64.deb @sudo dpkg -i openresty-zlib_1.2.11-3~buster1_amd64.deb @sudo update-alternatives --install /usr/sbin/nginx nginx /usr/local/openresty/bin/openresty 1 @sudo ln -sf /usr/local/openresty/nginx/ /etc/nginx ###### jetzt prüfen wir @sudo update-alternatives --query nginx ###### History.. @sudo apt-get install sudo @sudo apt-get install git build-essential libffi-dev libssl-dev python3-dev @sudo apt-get install --no-install-recommends gnupg openssl ca-certificates apache2-utils logrotate @sudo apt-get install --no-install-recommends python3 python3-distutils python3-venv python3-pip @sudo apt-get install certbot @sudo apt-get install curl @KEYRING=/usr/share/keyrings/nodesource.gpg @sudo curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | sudo tee "$KEYRING" >/dev/null @VERSION=node_14.x @KEYRING=/usr/share/keyrings/nodesource.gpg @DISTRO="$(lsb_release -s -c)" @sudo echo "deb [signed-by=$KEYRING] https://deb.nodesource.com/$VERSION $DISTRO main" | tee /etc/apt/sources.list.d/nodesource.list @sudo echo "deb-src [signed-by=$KEYRING] https://deb.nodesource.com/$VERSION $DISTRO main" | tee -a /etc/apt/sources.list.d/nodesource.list @sudo apt-get update @sudo apt-get install --no-install-recommends nodejs @sudo npm install --global yarn @wget https://github.com/jc21/nginx-proxy-manager/archive/refs/tags/v2.9.7.tar.gz @sudo tar xzvf v2.9.7.tar.gz @sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 @sudo update-alternatives --query python @cd nginx-proxy-manager-2.9.7/ @sed "s+0.0.0+2.9.7+g" -i backend/package.json @sed "s+0.0.0+2.9.7+g" -i frontend/package.json @sed 's+^daemon+#daemon+g' -i docker/rootfs/etc/nginx/nginx.conf @NGINX_CONFS=$(find "$(pwd)" -type f -name "*.conf") @for NGINX_CONF in $NGINX_CONFS; do sed 's+include conf.d+include /etc/nginx/conf.d+g' -i "$NGINX_CONF"; done @mkdir -p /var/www/html /etc/nginx/logs @cp -r docker/rootfs/var/www/html/* /var/www/html/ @cp -r docker/rootfs/etc/nginx/* /etc/nginx/ @cp docker/rootfs/etc/letsencrypt.ini /etc/letsencrypt.ini @cp docker/rootfs/etc/logrotate.d/nginx-proxy-manager /etc/logrotate.d/nginx-proxy-manager @ln -sf /etc/nginx/nginx.conf /etc/nginx/conf/nginx.conf @rm -f /etc/nginx/conf.d/dev.conf @mkdir -p /tmp/nginx/body /run/nginx /data/nginx /data/custom_ssl /data/logs /data/access /data/nginx/default_host /data/nginx/default_www /data/nginx/proxy_host /data/nginx/redirection_host /data/nginx/stream /data/nginx/dead_host /data/nginx/temp /var/lib/nginx/cache/public /var/lib/nginx/cache/private /var/cache/nginx/proxy_temp @chmod -R 777 /var/cache/nginx @chown root /tmp/nginx @echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf);" > /etc/nginx/conf.d/include/resolvers.conf @openssl req -new -newkey rsa:2048 -days 13650 -nodes -x509 -subj "/O=Nginx Proxy Manager/OU=Dummy Certificate/CN=localhost" -keyout /data/nginx/dummykey.pem -out /data/nginx/dummycert.pem @mkdir -p /app/global /app/frontend/images @cp -r backend/* /app @cp -r global/* /app/global @cd ./frontend @export NODE_ENV=development @yarn install --network-timeout=30000 @yarn build @cp -r dist/* /app/frontend @cp -r app-images/* /app/frontend/images @rm -rf /app/config/default.json # - cat << 'EOF' > /app/config/production.json { "database": { "engine": "knex-native", "knex": { "client": "sqlite3", "connection": { "filename": "/data/database.sqlite" } } } } ###### Enter Taste drücken - EOF ###### Datei überprüfen eof rausnehmen wenn vorhanden @nano /app/config/production.json # @cd /app @export NODE_ENV=development @yarn install --network-timeout=30000 # - cat << 'EOF' > /lib/systemd/system/npm.service [Unit] Description=Nginx Proxy Manager After=network.target Wants=openresty.service [Service] Type=simple Environment=NODE_ENV=production ExecStartPre=-/bin/mkdir -p /tmp/nginx/body /data/letsencrypt-acme-challenge ExecStart=/usr/bin/node index.js --abort_on_uncaught_exception --max_old_space_size=250 WorkingDirectory=/app Restart=on-failure [Install] WantedBy=multi-user.target ###### Enter Taste drücken - EOF # ###### Datei überprüfen eof rausnehmen wenn vorhanden @nano /lib/systemd/system/npm.service # @systemctl daemon-reload @systemctl enable npm @systemctl restart openresty @systemctl restart npm # # #### Anmelden und Passwort ändern - http://192.168.1.75:81/login - Benutzername: admin@example.com - Password: changeme # |
Proxymanager Installation
In manchen Mobilen Internet Broswer können Sie nicht im Doument scrollen. Klicken Sie für PDF Ansicht einfach auf den Link "PDF Download". |
Zusätzliche Einstellungen
Nginx Proxy Manager – X-Forwarded-For für Apache einrichtenProxymanager verschleiert sehr gerne die IP-Adressen und aufgerufenen URLs für die dahinter liegenden System. Für Statistiken werden diese Daten gebraucht. Die Lösung ist relativ einfach, wir leiten diese Informationen einfach weiter und das im HTTP Header. Dies wird in zwei Schritten konfiguriert. Im Hintergrund ließt der Apache Webserver diese Daten wieder aus und kann seinen Job erledigen. 1. SchrittIm Proxymanager bezüglich den Proxy Host im Tab Advancet folgendes eintragen.
2. Schritt anpassungen auf dem Webserver. Nicht Proxymanager.Apache2 Modul remoteip installieren. Eintrag in Direktiven von Virtuellen Host.
|
Wichtige InformationDa es keinen direkten Zugriff mehr gibt von WAN zum Beispiel zum Webserver über 80 und 443 weil diese Porte zum Proxymanger gehen verwaltet Proxymanager die Zertifikate selber da Öffentliche Zertifikate immer über Port 80 ausgeliefert und auch erneuert werden. Das heisst auf dem Webserver zum Beispiel Apache2 braucht es keine Zertifikate mehr. Selbstsignierte Zertifikate reichen aus . Für E-Mail (mail.meineDomäne.ch) 995 / 465 Zertifikat wird es keinen Proxyhost geben. Für E-Mail muss nur ein SSL Zertifikat generiert werden im Proxymanager. Danach das Zertifikat vom Proxyserver auf den Webserver kopieren oder in einem anderen Verzeichnis ablegen. Zertifikate auf dem Proxymanager wurden automatisch von Proxymanager bevor sie ablaufen erneuert. |
![]() |