LNMP下Nginx SSL配置教程

文章目录

在前面的几篇文章里介绍了免费SSL证书Let’s Encrypt安装使用教程以及debian下lnmp一键安装脚本完善版。虽然脚本中提供了搭建HTTPS虚拟主机的命令,tennfy还是在这篇文章里详细介绍下。

配置文件示例

首先找到虚拟主机的nginx配置文件,将该文件修改为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
server {
	listen 80;
	server_name tennfy.com www.tennfy.com; #替换为自己的域名 
	rewrite ^/(.*) https://$server_name/$1 permanent;
}
server {
	listen 443 ssl;
	root /var/www/tennfy.com;              #替换为虚拟主机目录
        index index.php index.html index.htm;
        server_name tennfy.com www.tennfy.com; #替换为自己的域名 
 
	location / {
		include rewrite.conf;          #替换为伪静态规则
        }
 
	location ~ \.php$ {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}
 
	ssl on;
	ssl_certificate tennfy_certificate;    #替换为SSL证书
	ssl_certificate_key tennfy_privatekey; #替换为SSL证书密钥
	ssl_session_timeout 10m;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_prefer_server_ciphers on;
	ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;
	ssl_session_cache builtin:1000 shared:SSL:10m;
}

其中第一个server{}的作用是监听80端口,将http访问重定向到https访问。

第二个个server{}的作用是监听443端口,响应https访问,并解析php文件。

在使用的时候替换相应的地址及域名即可。

最后记得重启nginx

1
/etc/init.d/nginx restart

小结

配置很简单,不过却是很实用的技巧。

本文出自 TENNFY博客,转载时请注明出处及相应链接。

本文永久链接: https://www.tennfy.com/3968.html

下一篇文章:

上一篇文章:

4人参与了讨论

  1. Ryan 说:

    ssl on选项大概已经废弃了吧,我用的是lnmp一键包,然后ssl部分照搬这个项目
    https://mozilla.github.io/server-side-tls/ssl-config-generator/

  2. AdOnCn 说:

    收藏了,谢谢。

  3. CYF 说:

    替换伪静态规则,应该不是每个人都有的……

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

3 + 2 = ?


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

返回顶部