Idozi Ezitere arịrịọ HTTP dị larịị na ọdụ HTTPS mperi na Nginx


N'isiokwu a, anyị ga-egosi otu esi edozi arịrịọ ọjọọ \400: Arịrịọ HTTP dị larịị ezigara na ọdụ ụgbọ mmiri HTTPS na sava Nginx HTTP. Njehie a na-ebilite mgbe ị na-agbalị ịhazi Nginx iji jide ma HTTP na HTTPS arịrịọ.

Maka ebumnuche nke ntuziaka a, anyị na-atụle ọnọdụ nke nginx na-eje ozi ọtụtụ weebụsaịtị emejuputa atumatu site na mebere ndị ọbịa na Apache) naanị otu weebụsaịtị na-eji SSL ma ndị ọzọ anaghị eme ya.

Anyị ga-atụlekwa ihe nhazi SSL n'okpuru (anyị agbanweela aha ngalaba aha n'ezie maka ihe nchekwa), nke na-agwa nginx ka ọ gee ntị ma ọdụ ụgbọ mmiri 80 na 443. Na arịrịọ niile na HTTP kwesịrị ibugharị na HTTPS na ndabara.

server{
        listen 80;
        server_name example.com www.example.com;
        return 301 https://www.example.com$request_uri;
}
server {
        listen 443 ssl http2;
        server_name example.com www.example.com;

        root   /var/www/html/example.com/;
        index index.php index.html index.htm;

        #charset koi8-r;
        access_log /var/log/nginx/example.com/example.com_access_log;
        error_log   /var/log/nginx/example.com/example.com_error_log   error;

        # SSL/TLS configs
        ssl on;
        ssl_certificate /etc/ssl/certs/example_com_cert_chain.crt;
        ssl_certificate_key /etc/ssl/private/example_com.key;

        include /etc/nginx/ssl.d/ssl.conf;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   /var/www/html/example.com/;
        }

        # 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   /var/www/html/example.com/;
                fastcgi_pass   127.0.0.1:9001;
                #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include         fastcgi_params;
                include /etc/nginx/fastcgi_params;

        }
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
}

Iji nhazi nke dị n'elu, ozugbo onye ahịa nwara ịbanye na saịtị gị site na ọdụ ụgbọ mmiri 80 i.e http://example.com, njehie a jụrụ ajụjụ ga-egosipụta dị ka ọ dị na nseta ihuenyo na-esote.

Ị na-ezute njehie a n'ihi na oge ọ bụla onye ahịa na-agbalị ịnweta saịtị gị site na HTTP, a na-ebuga arịrịọ ahụ na HTTPS. Ọ bụ n'ihi na nginx na-atụ anya ka SSL jiri ya mee ihe na azụmahịa ahụ ma arịrịọ mbụ t (anatara site na ọdụ ụgbọ mmiri 80) bụ HTTP doro anya, ọ na-eme mkpesa na njehie ahụ.

N'aka nke ọzọ, ọ bụrụ na onye ahịa na-eji https://example.com, ha agaghị ezute njehie dị n'elu. Na mgbakwunye, ọ bụrụ na ị nwere weebụsaịtị ndị ọzọ ahaziri ka ọ ghara iji SSL, nginx ga-anwa iji HTTPS na ndabara maka ha na-ebute njehie dị n'elu.

Iji dozie njehie a, kwuo ahịrị dị n'okpuru na nhazi gị ma ọ bụ gbanyụọ ya.

#ssl on 
OR
ssl off

Chekwaa ma mechie faịlụ ahụ. Mgbe ahụ malitegharịa ọrụ nginx.

# systemctl restart nginx
OR
$ sudo systemctl restart nginx

N'ụzọ dị otú a, ị nwere ike mee ka nginx nwee ike ijikwa arịrịọ HTTP na HTTPS maka ọtụtụ ngọngọ sava.

N'ikpeazụ, n'okpuru bụ ndepụta nke akụkọ gbasara ịtọlite SSL HTTPS na nkesa Linux na FreeBSD.

  1. Ịtọlite HTTPS na Ka Anyị Encrypt SSL Asambodo Maka Nginx na RHEL/CentOS
  2. Chekwaa Nginx n'efu ka anyị zoo asambodo SSL na Ubuntu na Debian
  3. Etu esi echekwa Nginx na SSL wee mee ka anyị zoo na FreeBSD

Nke ahụ bụ ihe niile ugbu a. Ọ bụrụ na ị maara ụzọ ọ bụla ọzọ isi dozie njehie a, biko mee ka anyị mara site na mpempe nzaghachi n'okpuru.