Notifications
Clear all

Http till https nginx hur gör man ?


sadjad
Topic starter

Tjena!

Jag har lyckats få igång en Nginx server med ssl, jag kommer endast till https://exempel.com om jag skriver https (kan vara bra att veta kanske).

Jag skulle vilja göra så att min t.ex. registrering och betalnings -sida ska köras under SSL dvs HTTPS, hur gör jag ?

Jag använder mig utav min Opencart och Nginx och min t.ex. registrering url ser ut såhär --->
" http://localhost/opencart/index.php?route=account/register "
Det är en userregistration.php fil.

Min config fil ser ut så här:
http://pastebin.com/xMvbDFvN

Så ett exempel för att förtydliga det jag behöver hjälp med.
Jag skulle vilja han en kod som fungerar ungefär såhär eller något i den stilen?:

http://pastebin.com/QCr4a4Jy

Jag hade tänkt mig något liknande.

Så det jag vill är att bara göra så min registrering, inloggning och betalningssida endast ska köras under HTTPS/SSL resten utav hemsidan ska köras under vanlig HTTP. Lägg märket till att url är lite konstigt det är inte någon SEO / FANCY (what ever call it) -URL.
Utan det är efter route som länkar till sidorna,
localhost/opencart/index.php?route=account/success
det går att göra så att det blir finare url som t.ex. localhost/opencart/register men jag vet inte hur ännu ska forska vidare på det. Säg till om ni vill att jag ska fixa det för man kanske måste ha SEO url för att det ska fungera?

Tacksam för svar 🙂


   
Quote
sadjad
Topic starter

Ingen som vet ? 🙁


   
ReplyQuote

Du är på fel sajt, min vän. [wink]


   
ReplyQuote
sadjad
Topic starter

S3ON:

fel sajt,

Får inte ens något svar på Nginx egna forum lol därför frågar jag er här istället


   
ReplyQuote
Zsasz

sadjad:

endast ska köras under HTTPS/SSL

Kan ju alltid köra en redirect på de sidorna du vill ha SSL på,

Något liknande kanske;

:

## Redirect http to https
server {
add_header Cache-Control "public, must-revalidate";
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log info;
expires 90d;
listen 127.0.0.1:80;
root /var/www;
server_name localhost;

location / {
if ($host ~* ^(*/opencart/index.php?route=account/register)$ ) {
rewrite ^/(.*)$ https://localhost/opencart/index.php?route=account/register permanent;
}
return 444;
}
}

?, I Värsta fall kan du ju forcera hela sidan.


   
ReplyQuote
sadjad
Topic starter

Zsasz:

kanske

Tjena! Tack för svaret dessvärre fungerade inte din text då jag fick error med loggarna så jag gjorde om din text lite så att den såg ut såhär (det som är FET markerat är det som jag har ändrat, jämför med din kod)

# Redirect http to https
server {
add_header Cache-Control "public, must-revalidate";
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
expires 90d;
listen 127.0.0.1:80;
root /var/www;
server_name localhost;

location / {
if ($host ~* ^(.*/opencart/index.php?route=account/register)$ ) {
rewrite ^/(.*)$ https://localhost/opencart/index.php?route=account/register permanent;
}
return 444;
}
}

Men även min modifiering var inte till någon större hjälp utan jag redirectades aldrig till HTTPS sidan utan till HTTP dvs. precis som vanligt 🙁
ps. Jag rensade även cachen och rebootade VPS men det hjälpte inte heller [cry]

Tack för ditt svar men vet du ngn annan alternativ ?


   
ReplyQuote
sadjad
Topic starter

Zsasz:

n ju alltid köra en red

FIXADE DET

f (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS']))
echo "HTTPS is on motherfucker!";
else
header("Location: https://localhost" );
?>

Lägger bara till koden längst upp i php filen 😛


   
ReplyQuote