- -
Nginx i SSL
(
http://www.devprotalk.com/showthread.php?t=9238)
squirll |
18. 10. 2010. 18:52 |
Nginx i SSL
Evo i ovde da postavim temu mozda mi neko pomogne :D jer mi poprilicno hitno
elem, problem je sledeci ...
Server mi pokrece Nginx sa uredno aktiviranim SSL licencom, i onda se pitate sta ne valja....e problem je sledeci...
Kad odem na http sajta tamo radi sve ok ...kad odem na httpS ucita sajt ALI php fajlove ucita kao plain text...k'o da ga nema u mime types-u ...pa sam ubacio i drugi mime types sas drugog sajta ali opet isto...
Pri ucitavanju konfig fajla nginx ne daje nikakav error...nema nigde error samo nece da ucita php kako treba :S
Ima li neko ideju ?
|
ajankovic |
18. 10. 2010. 20:12 |
U teoriji ovo znači da ti u konfiguraciji nije lepo podešeno da prilikom https protokola server poziva php cgi proces.
A u praksi moraš da uradiš copy paste konfiguracije ovde pa možda može neko da ti pomogne tako što će da ti kaže gde da ubaciš odgovarajuće podešavanje.
Uglavnom se ovaj problem vrti oko "fastcgi_param HTTPS on;" parametra, ali je najbolje d a prikažeš celu konfiguraciju ako misliš da ti neko pomogne.
|
squirll |
18. 10. 2010. 21:10 |
jest vala zaboravio sam...
Kôd:
user nobody;
worker_processes 2;
#error_log logs/error.log;
#error_log /var/log/nginx.log warn;
error_log /var/log/nginx.log info;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_max_size 2048;
types_hash_bucket_size 1024;
# include mime.types;
# default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
gzip_comp_level 3;
gzip_types application/x-javascript text/plain application/xml text/css;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
root /www/default/http_root;
location / {
root /www/default/http_root;
index index.html index.htm;
}
#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 html;
}
# 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$ {
# root html;
fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi.conf;
fastcgi_param HTTPS on;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
include vhosts/*.conf;
# 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 {
add_header Cache-Control public;
expires 90d;
#index index.php;
listen 443 default ssl;
server_name www.sajt.com;
ssl on;
ssl_certificate /root/asset.crt;
ssl_certificate_key /root/asset.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1; #SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!ADH:!MD5; #ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:1m;
location / {
# proxy_pass http://www.sajt.com;
root /www/sajt/http_root/;
index index.php;
# include /etc/nginx/proxy.conf;
# proxy_redirect on;
# proxy_Set_header Host $host;
}
}
}
|
ajankovic |
18. 10. 2010. 23:42 |
Čini mi se da si ssl lepo podesio. Prvo što sam primetio:
PHP kôd:
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi.conf;
Mislim da ovo trebaš da odkomentarišeš. I unesi putanje ka fastcgi.conf i fastcgi skripti.
Druga stvar, je zašto si stavio ceo config u http{}?
|
squirll |
19. 10. 2010. 09:48 |
promenio sam ovak
Kôd:
root /www/sajt/http_root/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/sajt/http_root/$fastcgi_script_name;
include fastcgi.conf;
fastcgi_param HTTPS on;
al' i dalje isto :S
Drugo pitanje... tako je bilo kad sam poceo da editujem... nisam ja to stavljao ...
|
ajankovic |
19. 10. 2010. 11:05 |
Mora da sam bio mnogo umoran sinoć :). Nisam ni video da nisi priključio fastcgi php proces na https server. Dakle u drugom server bloku ti fali ovaj kod.
Kôd:
location ~ \.php$ {
root /www/sajt/http_root;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/sajt/http_root$fastcgi_script_name;
fastcgi_param HTTPS on;
include /etc/nginx/conf/fastcgi_params;
}
E sada ne znam kakvu zbrku imaš na serveru :), ali ako ti je sve lepo podešeno samo bi ovo trebalo da ubaciš i da ti proradi. Naravno ne zaboravi da restartuješ nginx.
|
squirll |
19. 10. 2010. 12:22 |
Citat:
Originalno napisao ajankovic
(Napišite 90496)
Mora da sam bio mnogo umoran sinoć :). Nisam ni video da nisi priključio fastcgi php proces na https server. Dakle u drugom server bloku ti fali ovaj kod.
Kôd:
location ~ \.php$ {
root /www/sajt/http_root;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/sajt/http_root$fastcgi_script_name;
fastcgi_param HTTPS on;
include /etc/nginx/conf/fastcgi_params;
}
E sada ne znam kakvu zbrku imaš na serveru :), ali ako ti je sve lepo podešeno samo bi ovo trebalo da ubaciš i da ti proradi. Naravno ne zaboravi da restartuješ nginx.
|
Od jutros se njakam stim i bas sam to namestio :) i to sad radi ...samo sad scripta me zeza malo zesce :)
Hvala u svakom slucaju ;)
|
ajankovic |
19. 10. 2010. 13:08 |
Šta te zeza u vezi skripte? Da li si pokrenuo fastcgi proces? Da li si stavio pravu putanju do include /etc/nginx/conf/fastcgi_params; fastcgi parametara?
|
squirll |
19. 10. 2010. 13:11 |
ma putanja je ok... samo scripta (custom made od prethodnog programera) izigrava neki framework ... i ona proverava dal fajl koji trazis postoji i ako ne postoji ona izbaci "No input file found" tako nesto ...
i ja sad samo to dobijam... Dobio sam scriptu da radi samo ne kako treb :)
treba jos nesto sitno da se namesti jako sam blizu :)
|
ajankovic |
19. 10. 2010. 13:23 |
Verovatno je pretpostavio da će sve raditi na apachu pa je namestio da mu se putanja prosledi preko url parametra. Verovatno očekuje neki url rewrite u htaccessu.
Nginx koristi drugačiji sistem. Ako tom sistemu nisi vičan, a shvatiš šta toj skripti treba evo ti online converter. Možda ti bude od pomoći.
|
squirll |
19. 10. 2010. 13:43 |
aaaaaaa glup sam :D
scripta je namenjena bas za nginx i nema htacess vec sve je to "jezgrovito" napravljeno...
al sam resio :D i sad radi ko doksa :D
Kad sam kod SSL prekucavao fastcgi parametre upisao sam SCRIPT_FILE a treba SCRIPT_FILENAME i to me ceo dan zezalo :D sad radi
Hvala ti :)
Od mene moze tema pod katanac ;)
|
squirll |
19. 10. 2010. 15:14 |
blah nije mi dugo slavlje trajalo ...
*.html stranice su staticne ... i rade na principu sto pozoves npr news.html on pozove show_static.php?q=news i prikaze stranicu ali sve to pod news.html linkom
I naravno ovo pod HTTPS-om ne radi...
kad idem direktno na https://mojsajt.com/show_static.php?q=news onda radi ...
u nginx vhostu za taj domen imam
Kôd:
location ~* ^/(w+)\.html$ {
try_files $uri @static;
}
location @static {
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
fastcgi_param QUERY_STRING q=$1;
fastcgi_param SCRIPT_FILENAME /www/sajt/http_root/show_static.php;
fastcgi_param HTTPS on;
}
samo za https ne radi :S
404 header dobijam :S
|
ajankovic |
19. 10. 2010. 17:26 |
Mislim da ti nije potreban blok location @static{} njega stavi u komentare za sada.
Samo prepravi prvi location da bude:
Kôd:
location ~* ^/(w+)\.html$ {
try_files $uri $uri/ /show_static.php?q=$1;
}
|
squirll |
19. 10. 2010. 18:28 |
Citat:
Originalno napisao ajankovic
(Napišite 90522)
Mislim da ti nije potreban blok location @static{} njega stavi u komentare za sada.
Samo prepravi prvi location da bude:
Kôd:
location ~* ^/(w+)\.html$ {
try_files $uri $uri/ /show_static.php?q=$1;
}
|
Ma jok..isto se ponasa :S
Jedino mi sad to ostalo da resim al nece da radi...
Ko da ne prosledjuje query string... tako izgleda
|
Vreme je GMT +2. Trenutno vreme je 21:36. |
|
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.