网站如何支持并强制HTTPS访问?Nginx服务器

环境:Linux系统,nginxweb服务器

一、准备好所需的证书文件

各大云服务厂商都有提供SSL证书服务,申请一个免费的SSL证书并下载。解压缩后得到下图中的文件,红框内的部分代表SSL证书绑定的域名。

二、上传文件至Nginx安装目录

使用FTP工具将上图中的KEY和安全证书上传到Nginx的根目录,我的Nginx安装目录是 /etc/nginx 。如果你因为权限问题没有上传成功,那么你需要先赋予自己上传文件的权限。

sudo chmod a+rwx /etc/nginx

三、修改Nginx的配置文件

使用vim修改 /etc/nginx/nginx.conf 文件,并将如下的内容修改后添加到文件中去。

server {
     #SSL 默认访问端口号为 443
     listen 443 ssl; 

     #请填写绑定证书的域名
     server_name saas-time.club; 

     #请填写刚上传的证书文件的相对路径或绝对路径
     ssl_certificate saas-time.club_bundle.crt; 

     #请填写刚上传的KEY文件的相对路径或绝对路径
     ssl_certificate_key saas-time.club.key; 

     ssl_session_timeout 5m;

     #请按照以下协议配置
     ssl_protocols TLSv1.2 TLSv1.3; 

     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
     ssl_prefer_server_ciphers on;

     location / {
				 #如果你的网站当前已经可以通过http访问,则无需关注location模块
         #本模块的目的就是设置访问路径,有很多种设置方式
         #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
         #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
         root html; 
         index  index.html index.htm;
     }
 }

四、重启Nginx服务器

sudo nginx -s reload   #不终止服务器的情况下重载配置,修改配置文件后建议采用此命令重载


五、补充:通过Nginx配置强制HTTPS

核心思路是nginx.con配置文件中同时监听80和443端口的请求,当接收到http请求时通过301重定向到https,见下文代码块中#######包含的内容。

	server {
		listen        80;
		charset      utf-8;
		client_max_body_size 75M;


        #SSL 默认访问端口号为 443
        listen 443 ssl; 
        #请填写绑定证书的域名
        server_name saas-time.club; 
        #请填写证书文件的相对路径或绝对路径
        ssl_certificate saas-time.club_bundle.crt; 
        #请填写私钥文件的相对路径或绝对路径
        ssl_certificate_key saas-time.club.key; 
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1.2 TLSv1.3; 
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
        ###############
		if ($scheme = http) {
                 return 301 https://$server_name$request_uri;
            }
        ############
	}

原文地址:SAAS时刻 | 网站如何支持并强制HTTPS访问?Nginx服务器

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

城博花园

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值