sample script nginx :
server { listen 443 default ssl; listen [::]:443 ssl; root /var/www/html/api_mobile/public; include snippets/ssl-params.conf; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; index index.html index.php index.htm index.nginx-debian.html; server_name sitename.com; charset utf-8; location / { if ($scheme ="http") { # redirect all non api traffic to https block return 301 https://$server_name$request_uri; } try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } ssl_certificate /etc/letsencrypt/live/sites/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/site/privkey.pem; # managed by Certbot }
point on scheme condition :
if ($scheme ="http") { # redirect all non api traffic to https block return 301 https://$server_name$request_uri; }
it core of redirect on one port 443 https force http to https
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3