2017-05-02 1 views
0

Ich habe vor kurzem einen Nginx-Server auf debian 8 erstellt. Es kam mit einer Standardkonfiguration auf/etc/nginx/sites-available/default, die auf eine nginx Begrüßungsseite umgeleitet .Best Practice, um Standard-Server-und IP-Weiterleitung in Nginx

server { 
listen 80 default_server; 
listen [::]:80 default_server; 

root /var/www/html; 
index index.php index.html index.htm index.nginx-debian.html; 

server_name your_server_ip; 

location/{ 
    try_files $uri $uri/ =404; 
} 

location ~ \.php$ { 
    include snippets/fastcgi-php.conf; 
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 
} 

location ~ /\.ht { 
    deny all; 
} 
} 

Ich hatte eine neue Produktionsseite hinzugefügt, sagen 'example.com' mit ssl drauf.

In der Konfiguration für ../example.com ist es nicht als Standardserver festgelegt.

server { 
listen 80; 
listen [::]:80; 
server_name example.com www.example.com; 
return 301 https://$server_name$request_uri; 
} 

server { 

# SSL configuration 

listen 443 ssl; 
listen [::]:443 ssl; 
include snippets/ssl-example.com.conf; 
include snippets/ssl-params.conf; 
.... 

Nun, wenn ich SSL-Sicherheit auf https://www.ssllabs.com/ssltest/analyze.html?d=example.com getestet, bekam er eine A +. Aber es hatte "Inkonsistente Serverkonfiguration" kommentiert.

Und wenn ich die IP-Adresse laden, sagen x.x.x.x im Browser als https://x.x.x.x es lädt die gleiche Seite wie von https://example.com aber ohne ssl (grüne Adressleiste) darauf. Wenn ich lade http://x.x.x.x lädt es die Standard-Nginx-Begrüßungsseite.

ich die Standardkonfiguration zu setzen versucht (für ip) eine verbotene Nachricht zu bekommen, habe ich den folgenden Code

location/{ 
deny all; 
} 

nun hinzugefügt, wenn ich Sicherheitstest ssl die example.com, sagt es „keine sichere Protokolle unterstützt "und keine Testergebnisse erschienen.

Also meine Fragen sind,

Was mit der Default-Konfiguration durchgeführt werden sollte, die mit nginx kommt, die für die IP-Adresse lädt?

welcher servername (config file) sollte als default_server auf 'listen' befehl gesetzt werden?

was sollte mit der IP getan werden, die derzeit HTTPS-Anfragen an die Beispiel-Domain weiterleitet?

Beabsichtigte Ergebnisse: -

https://example.com sollte nur an den Server und Laden von IP-Adresse verwendet werden kann, um eine Verbindung zeigen ‚Seite nicht gefunden‘ oder ‚verboten‘, da die example.com für PHP-Skripte verwendet wird, wird auf es.

SSL-Tests sollten mindestens eine A-Bewertung nach der eingestellten Konfiguration erhalten.

IP-Adresse sollte keine Verbindungen direkt akzeptieren und verarbeiten.

Antwort

0

Die Standardkonfiguration bietet offensichtlich kein SSL. Im Allgemeinen müssen Sie ein SSL-Zertifikat installieren. Es gibt viele Tutorials dazu. Der Einstieg in Ihre Webseiten liegt bei Ihnen. Sie stellen verschiedene Fragen in demselben Post.

Offensichtlich können Sie die Antworten hier und anderswo finden, indem Sie nach ihnen suchen.