nginx 80端口重定向到443端口,也就是http訪問自動跳轉到https
配置以下:
1、按照以下格式修改nginx.conf 配置文件,80端口會自動轉給443端口,這樣就強制使用SSL證書加密了。訪問http的時候會自動跳轉到https上面。
php
server { listen 80; server_name www.域名.com; rewrite ^(.*)$ https://${server_name}$1 permanent; } server { listen 443; server_name www.域名.com; root /home/wwwroot; ssl on; ssl_certificate /etc/nginx/certs/server.crt; ssl_certificate_key /etc/nginx/certs/server.key; .... }
備註: ${server_name}能夠換成$host
2、重啓nginx。
3、示例(如下是咱們生產的配置)
html
server { listen 80; server_name www.test.com; rewrite ^(.*)$ https://${server_name}$1 permanent; } server { listen 443; server_name www.test.com; ssl on; ssl_certificate /etc/pki/CA/certs/214321311540956.pem; ssl_certificate_key /etc/pki/CA/certs/214321311540956.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; index index.php index.htm index.html; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location ~ \.php { root /alidata/www/html; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; set $path_info ""; set $fastcgi_script_name_new $fastcgi_script_name; if ($fastcgi_script_name ~* "^(.+\.php)(/.+)$" ) { set $fastcgi_script_name_new $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name_new; fastcgi_param SCRIPT_NAME $fastcgi_script_name_new; fastcgi_param PATH_INFO $path_info; } location / { root /alidata/www/html; index index.php index.html index.htm; if (!-e $request_filename){ rewrite ^(.*)$ /index.php$1 last; } } }
---------------------
做者:幸福丶如此
來源:CSDN
原文:https://blog.csdn.net/m0_37886429/article/details/72271983
版權聲明:本文爲博主原創文章,轉載請附上博文連接!nginx