
Meine Site verwendet Apache httpd, um den Reverse-Proxy für eine App zu erstellen, die in Express ausgeführt wird (Node.js-App). Ich habe 2 Express-Server, einen für das Backend und einen für das Frontend-Hosting. Im Moment versuche ich, böswillige Anfragen zu blockieren, die an meine Site gesendet werden, damit sie eine 404- oder fehlerhafte Anfrage zurückgibt.
Unten sehen Sie mein some-site-ssl.conf-Beispiel, aber es sieht nicht so aus, als ob es die bösartigen Websites blockiert. Jede Hilfe wäre super!! Danke.
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/some-site.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/some-site.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?bad-word(-|.).*$ [NC]
RewriteCond %{HTTP_REFERER} ^https://(www\.)?.*(-|.)?bad-word(-|.).*$ [NC]
RewriteRule ^(.*)$ - [F,L]
ProxyRequests On
ProxyPass /api http://some-site.com:3000/api
ProxyPassReverse /api http://some-site.com:3000/api
ProxyPass / http://some-site.com:4226/
ProxyPassReverse / http://some-site.com:4226/
</VirtualHost>
Antwort1
Mit dem Tag können Sie den Zugriff auf jede Ressource steuern Location
und den Zugriff bestimmter Hosts auf Ihre Ressourcen deaktivieren:
<Location "/denied/resource">
<RequireAll>
Require not ip 1.2.3.4
Require not host spammer.domain
Require all granted
<RequireAll>
</Location>
Die Zugriffsrechte werden von oben nach unten vererbt. Wenn Sie also den Zugriff auf verweigern, /
wird dieser Client praktisch von Ihrer Site ausgeschlossen (es sei denn natürlich, der Zugriff wird auf eine Ressource auf niedrigerer Ebene gewährt, sodass es möglich ist, keinen Zugriff auf zu haben /
, aber auf zugreifen zu können /this/one/
). Siehedie Apache HTTP-Server-DokumentationFür mehr Information.
Und wie @Freddy sagte, sollten Sie diese ProxyRequests On
Zeile wirklich entfernen.