设置HTTP请求自动跳转HTTPS

2022-12-03 12:58:25 浏览数 (1)

1、第一种方式:

第一种情况:修改Nginx安装目录/cat/nginx.conf文件

虚拟主机配置SSL证书,虚拟主机配置文件vhost.conf或*.conf

server { listen 80; server_name localhost ; location / { index index.html index.htm; } } server { listen 443 ssl; server_name localhost; root html; index index.html index.htm; ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的文件名。 ssl_certificate_key cert/domain name.key; #将domain name.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; location / { index index.html index.htm; } }

Web目录下和nginx配置目录打开.htaccess文件(如没有,需新建该文件),添加以下rewrite语句,实现HTTP访问自动跳转到HTTPS页面。

RewriteEngine On RewriteCond %{HTTP:From-Https} !^on$ [NC] RewriteCond %{HTTP_HOST} ^(www.)?yourdomain.com$ [NC] # 将yourdomain.com修改为您证书绑定的域名,例如:example.com。 RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R=301,L] # 将yourdomain.com修改为您证书绑定的域名,例如:example.com。

2、第二种方式(√我选择的):

server { listen 80; server_name demo.jumpserver.org; # 自行修改成你的域名 return 301 https://$server_name$request_uri; }

server { listen 443 ssl; server_name demo.jumpserver.org; # 自行修改成你的域名 ssl_certificate /etc/nginx/sslkey/1_jumpserver.org_bundle.crt; # 自行设置证书 ssl_certificate_key /etc/nginx/sslkey/2_jumpserver.org.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;

location / { index index.html index.htm; }

}

0 人点赞