This commit adds a ProxyTimeout setting for all proxy connections in the Apache configuration, enhancing the server's ability to manage long-lived connections. Additionally, it updates the frontend dependencies, specifically upgrading `eslint` to version 9.39.1 and `vite` to version 7.2.2, ensuring better compatibility and performance in the development environment. These changes contribute to a more robust and efficient application.
72 lines
2.5 KiB
Plaintext
72 lines
2.5 KiB
Plaintext
# Apache-Konfiguration für tt-tagebuch.de mit WebSocket-Support
|
|
#
|
|
# WICHTIG: Folgende Module müssen aktiviert sein:
|
|
# sudo a2enmod proxy
|
|
# sudo a2enmod proxy_http
|
|
# sudo a2enmod proxy_wstunnel
|
|
# sudo a2enmod rewrite
|
|
# sudo a2enmod headers
|
|
# sudo systemctl restart apache2
|
|
|
|
<VirtualHost *:443>
|
|
ServerName tt-tagebuch.de
|
|
ServerAlias www.tt-tagebuch.de
|
|
|
|
DocumentRoot /var/www/tt-tagebuch.de
|
|
|
|
<Directory /var/www/tt-tagebuch.de>
|
|
Options Indexes FollowSymLinks
|
|
AllowOverride All
|
|
Require all granted
|
|
</Directory>
|
|
|
|
ErrorLog ${APACHE_LOG_DIR}/tt-tagebuch.de_error.log
|
|
CustomLog ${APACHE_LOG_DIR}/tt-tagebuch.de_access.log combined
|
|
|
|
SSLEngine on
|
|
SSLCertificateFile /etc/letsencrypt/live/tt-tagebuch.de/fullchain.pem
|
|
SSLCertificateKeyFile /etc/letsencrypt/live/tt-tagebuch.de/privkey.pem
|
|
Include /etc/letsencrypt/options-ssl-apache.conf
|
|
|
|
ProxyRequests Off
|
|
|
|
# WebSocket-Proxy für Socket.IO
|
|
# WICHTIG: Diese LocationMatch muss VOR den anderen ProxyPass-Direktiven stehen
|
|
# WICHTIG: mod_proxy_wstunnel muss aktiviert sein (sudo a2enmod proxy_wstunnel)
|
|
# WICHTIG: mod_rewrite muss aktiviert sein (sudo a2enmod rewrite)
|
|
|
|
# WebSocket-Upgrade erkennen und weiterleiten (wss:// -> ws://)
|
|
# Die RewriteRule wird nur ausgeführt, wenn Upgrade-Header vorhanden ist
|
|
# Andernfalls wird ProxyPass verwendet (für HTTP-Polling)
|
|
<LocationMatch "^/socket\.io/">
|
|
RewriteEngine on
|
|
RewriteCond %{HTTP:Upgrade} =websocket [NC]
|
|
RewriteCond %{HTTP:Connection} =upgrade [NC]
|
|
RewriteRule ^/?(.*) ws://localhost:3050/$1 [P,L]
|
|
|
|
# Fallback für HTTP-Polling (wird verwendet, wenn RewriteRule nicht greift)
|
|
ProxyPass http://localhost:3050/socket.io/
|
|
ProxyPassReverse http://localhost:3050/socket.io/
|
|
|
|
ProxyPreserveHost On
|
|
ProxyAddHeaders On
|
|
<IfModule mod_headers.c>
|
|
RequestHeader set X-Forwarded-Proto "https"
|
|
RequestHeader set X-Real-IP %{REMOTE_ADDR}s
|
|
RequestHeader set X-Forwarded-For %{REMOTE_ADDR}s
|
|
</IfModule>
|
|
</LocationMatch>
|
|
|
|
# Timeout für alle Proxy-Verbindungen (außerhalb von LocationMatch)
|
|
ProxyTimeout 3600
|
|
|
|
# API-Routen
|
|
ProxyPass /api http://localhost:3050/api
|
|
ProxyPassReverse /api http://localhost:3050/api
|
|
|
|
# Alle anderen Anfragen an den Backend-Server (für Frontend)
|
|
ProxyPass / http://localhost:3050/
|
|
ProxyPassReverse / http://localhost:3050/
|
|
</VirtualHost>
|
|
|