Ich habe an SSL-Inhalten gearbeitet und bin mit 4 Tutorials nicht weiter gekommen ... Ich habe ein SSL für pingrglobe.com gekauft und jetzt versucht, es auf meine Server anzuwenden. Hier ist mein Nginx-Code:
http {
server {
listen 80;
server_name pingrglobe.com;
rewrite ^(.*) http://www.pingrglobe.com$1 permanent;
}
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/pingrglobe.crt;
ssl_certificate_key /etc/nginx/ssl/pingrglobe.key;
#enables SSLv3/TLSv1, but not SSLv2 which is weak and should no longer be used.
ssl_protocols SSLv3 TLSv1;
#Disables all weak ciphers
ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;
server_name www.pingrglobe.com;
root /var/www/pingrglobe.com;
index index.html index.php;
location / {
try_files $uri $uri/ @extensionless-php;
add_header Access-Control-Allow-Origin *;
}
rewrite ^/blog/blogpost/(.+)$ /blog/blogpost?post=$1 last;
rewrite ^/viewticket/(.+)/(.*)$ /viewticket?tid=$1&$2 last;
rewrite ^/vemail/(.+)$ /vemail?eid=$1 last;
rewrite ^/serversettings/(.+)$ /serversettings?srvid=$1 last;
rewrite ^/notification/(.+)$ /notification?id=$1 last;
rewrite ^/viewreport/(.+)$ /viewreport?srvid=$1 last;
rewrite ^/removeserver/(.+)$ /removeserver?srvid=$1 last;
rewrite ^/staffviewticket/(.+)/(.*)$ /staffviewticket?tid=$1&$2 last;
rewrite ^/activate/(.*)/(.*)/(.*)$ /activate?user=$1&code=$2&email=$3 last;
rewrite ^/activate2/(.*)/(.*)/(.*)$ /activate2?user=$1&code=$2&email=$3 last;
rewrite ^/passwordtoken/(.+)/(.*)/(.*)$ /passwordtoken?user=$1&token=$2&email=$3 last;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}
location ~ /\. {
deny all;
}
}
}
SSL funktioniert hier nicht: https://www.pingrglobe.com
Antworten:
Ersetzen Sie Ihren vorhandenen vollständigen Dateiinhalt durch den folgenden
nginx -t
, wenn Sie zurückmelden, was gesagt wird, wenn Sie es immer noch nicht könnenreload
.quelle
Ich hatte das gleiche Problem. Das Folgende hat bei mir funktioniert.
In Bestellversionen von Nginx gehörte die http {} -Direktive zum Standard und enthielt die standardmäßige server {} -Direktive.
In neueren Versionen befindet sich die http-Direktive in einer eigenen Datei mit dem Namen nginx.conf und enthält alle Dateien, mit denen in sites-enabled / verlinkt wurde.
In den meisten Lernprogrammen wird angegeben (oder impliziert), dass Sie einen http-Block in der Datei Ihres virtuellen Hosts erstellen und die ssl-Direktiven darin einfügen sollten. Dies führt jedoch dazu, dass die http-Direktive im vhost in die http-Direktive in der Datei nginx.conf einbezogen wird, und löst den folgenden Fehler aus :
"http" directive is not allowed here
(Oder ähnliche
not allowed here
Fehler, wenn Sie andere Befehle vor sich haben.)Die Lösung besteht einfach darin, die SSL-Direktiven direkt in die Datei nginx.conf aufzunehmen, anstatt eine neue http-Direktive in der vhost-Datei zu erstellen.
quelle