ashcr@ck
06.03.2012, 09:08
Hey @ all
ich habe auf einem Ubuntu Server nginx laufen. Diesen möchte ich nun als Reverse Proxy nutzen. Soweit habe ich ihn auch konfiguriert. Bei einem Restart von nginx wird der Test als erfolgreich angezeigt. Doch wenn ich dann an meinem PC im Browser die URL eingebe werde ich nicht auf die Adresse weitergeleitet. Leider bin ich noch sehr unerfahren was Serveradministration angeht.
Hier mal die .conf Datein.
nginx.conf (Standard Konfig)
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
# mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
# }
~
conf.d/proxy.conf
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
sites-enabled/default
# You may add here your
# server {
# ...
# }
# statements for each of your virtual hosts
server {
listen 88;
server_name test;
rewrite ^/(.*) http://test.de permanent;
access_log /var/log/nginx/localhost.access.log;
location /blog {
proxy_pass http://blog.test.de;
proxy_redirect default;
}
location /forum {
proxy_pass http://forum.test.de;
proxy_redirect default;
}
# location /doc {
# root /usr/share;
# autoindex on;
# allow 127.0.0.1;
# deny all;
# }
# location /images {
# root /usr/share;
# autoindex on;
# }
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /var/www/nginx-default;
#}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#includefastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#listen 8000;
#listen somename:8080;
#server_name somename alias another.alias;
#location / {
#root html;
#index index.html index.htm;
#}
#}
# HTTPS server
#
#server {
#listen 443;
#server_name localhost;
#ssl on;
#ssl_certificate cert.pem;
#ssl_certificate_key cert.key;
#ssl_session_timeout 5m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
#ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSL v2:+EXP;
#ssl_prefer_server_ciphers on;
#location / {
#root html;
#index index.html index.htm;
#}
#}
Ich wollte jetzt über den Browser bzw einen Client die beiden unterschiedlichen Seiten ansteuern indem ich test.de aufrufe. Differenziert wird später im Login Bereich und in den Zertifikaten welcher User auf welchen Bereich zugreifen darf. Zunächst möchte ich erst einmal die richtige Funktionsweise testen. Muss ich da noch weitere Konfigurationen vornehmen?? Der Nächste Schritt wäre dann die Verbindung vom Browser/Client zum Reverse Proxy per SSL zu verschlüsseln.
ich habe auf einem Ubuntu Server nginx laufen. Diesen möchte ich nun als Reverse Proxy nutzen. Soweit habe ich ihn auch konfiguriert. Bei einem Restart von nginx wird der Test als erfolgreich angezeigt. Doch wenn ich dann an meinem PC im Browser die URL eingebe werde ich nicht auf die Adresse weitergeleitet. Leider bin ich noch sehr unerfahren was Serveradministration angeht.
Hier mal die .conf Datein.
nginx.conf (Standard Konfig)
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
# mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
# }
~
conf.d/proxy.conf
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
sites-enabled/default
# You may add here your
# server {
# ...
# }
# statements for each of your virtual hosts
server {
listen 88;
server_name test;
rewrite ^/(.*) http://test.de permanent;
access_log /var/log/nginx/localhost.access.log;
location /blog {
proxy_pass http://blog.test.de;
proxy_redirect default;
}
location /forum {
proxy_pass http://forum.test.de;
proxy_redirect default;
}
# location /doc {
# root /usr/share;
# autoindex on;
# allow 127.0.0.1;
# deny all;
# }
# location /images {
# root /usr/share;
# autoindex on;
# }
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /var/www/nginx-default;
#}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#includefastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#listen 8000;
#listen somename:8080;
#server_name somename alias another.alias;
#location / {
#root html;
#index index.html index.htm;
#}
#}
# HTTPS server
#
#server {
#listen 443;
#server_name localhost;
#ssl on;
#ssl_certificate cert.pem;
#ssl_certificate_key cert.key;
#ssl_session_timeout 5m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
#ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSL v2:+EXP;
#ssl_prefer_server_ciphers on;
#location / {
#root html;
#index index.html index.htm;
#}
#}
Ich wollte jetzt über den Browser bzw einen Client die beiden unterschiedlichen Seiten ansteuern indem ich test.de aufrufe. Differenziert wird später im Login Bereich und in den Zertifikaten welcher User auf welchen Bereich zugreifen darf. Zunächst möchte ich erst einmal die richtige Funktionsweise testen. Muss ich da noch weitere Konfigurationen vornehmen?? Der Nächste Schritt wäre dann die Verbindung vom Browser/Client zum Reverse Proxy per SSL zu verschlüsseln.