Hallo,
Ich bin gerade am Planen einer neuen Serverstruktur und beschäftige mich grad mit dem Reverse von Nginx.
Grundsätzlich strebe ich folgende Lösung an.
Reverse Proxy Nginx -> auf Webserver Nginx.
Das Problem was aktuell entsteht ist, dass der Traffic der vom Reverse auf den Webserver kommen sollte einen 400 Bad Gateway Error erzeugt. Entweder bin ich zu dämlich oder da hats was anderes..??
Im Endeffekt will ich das die IP vom Webserver nicht öffentlich ersichtlich ist, nutze zwar Cloudflare aber die IP hinter dem originalen Webserver kann man ja leaken, deswegen diese Konstellation.
Kurz zusammen gefasst:
Ich will jeden Traffic was auf Port 80/443 kommt über den Reverse auf meinem Webserver auf Port X ankommt(PHP,CSS etc. wird alles erst auf dem Webserver geladen)
Die Lösung nginx reverse -> apache2 funktioniert, jedoch will ich den apache2 aus technischen Gründen nicht nutzen, d.h. ich habe hier nginx geforwared auf nginx.
Nginx Webserver Config:
Code:
server {
listen 7894 ;
server__name srv1.domain.com;
root /var/www/public_html;
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/error.log error;
sendfile off;
client_max_body_size 100m;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
Nginx Reverse Config:
Code:
server {
listen 80;
listen 443 ssl;
server_name domain.com;
root /var/www/public_html;
index index.html index.htm index.php;
error_log /var/log/nginx/error.log;
charset utf-8;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://webserveripaddress:7894;
}
location ~ /\.ht {
deny all;
}
####SSL####
ssl_certificate /etc/ssl/domain.crt;
ssl_certificate_key /etc/ssl/domain.key;
}
Vielen Dank für Eure Hilfe!