当前位置:首页 > 行业动态 > 正文

lnmp怎么配置多个网站ssl

要配置多个网站SSL,首先需要为每个网站分别购买和安装SSL证书,可以从权威的证书颁发机构(CA)购买,如Let’s Encrypt、DigiCert、Symantec等。按照以下步骤进行操作:确保您已经安装了SSL证书,使用以下命令创建一个Nginx配置文件,用于其中一个网站的SSL。接着,上传证书文件.pem 和 .key 到服务器 /usr/local/nginx/conf/ssl。打开域名配置文件,添加如下代码 listen 443 ssl; ssl_certificate /usr/local/nginx/ssl/test1/文件名.pem; ssl_certificate_key /usr/local/nginx/ssl/test1/文件名.key。注意,这里的路径需要替换成你自己的路径。

在配置lnmp(Linux+Nginx+MySQL+PHP)环境时,我们经常需要为多个网站配置SSL证书,SSL证书可以保证网站数据的安全传输,防止被中间人攻击,本文将详细介绍如何在lnmp环境下为多个网站配置SSL证书。

生成SSL证书

我们需要为每个网站生成一个SSL证书,我们可以使用Let’s Encrypt提供的免费SSL证书,以下是生成SSL证书的步骤:

1、安装Certbot工具:Certbot是一个用于自动获取和安装Let’s Encrypt SSL证书的工具,在Ubuntu系统中,可以使用以下命令安装:

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot

2、生成SSL证书:使用Certbot为网站生成SSL证书,为example.com域名生成证书,可以使用以下命令:

sudo certbot certonly --webroot -w /var/www/example.com/public_html -d example.com -d www.example.com

3、自动续期SSL证书:Certbot默认会每三个月自动续期SSL证书,如果需要手动续期,可以使用以下命令:

sudo certbot renew --quiet

配置Nginx支持SSL

接下来,我们需要在Nginx配置文件中添加SSL相关的配置,以下是配置Nginx支持SSL的步骤:

1、打开Nginx配置文件:Nginx的配置文件通常位于/etc/nginx/sites-available目录下,使用文本编辑器打开相应的配置文件,例如example.com.conf。

2、修改配置文件:在配置文件中,找到server块,添加以下内容:

listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

注意将example.com替换为实际的域名,确保ssl_certificate和ssl_certificate_key指向正确的证书和密钥文件路径。

3、重启Nginx:保存配置文件后,重启Nginx以使更改生效:

sudo service nginx restart

测试SSL配置

我们需要测试SSL配置是否正确,可以使用浏览器访问网站,并检查URL是否显示为https,可以在浏览器地址栏查看是否有绿色的锁标志,表示连接是安全的。

其他注意事项

1、在生成SSL证书时,需要确保网站根目录下有一个名为public_html的文件夹,并将网站文件放入其中,否则,Certbot无法正确验证域名所有权。

2、如果遇到“No challenge found”的错误,可以尝试使用--nginx参数重新运行Certbot命令:

sudo certbot certonly --webroot -w /var/www/example.com/public_html -d example.com -d www.example.com --nginx

3、如果需要为子域名配置SSL证书,只需在Certbot命令中添加相应的域名即可,为blog.example.com域名生成证书:

sudo certbot certonly --webroot -w /var/www/blog.example.com/public_html -d blog.example.com -d www.blog.example.com --nginx

4、如果需要为多个域名配置SSL证书,可以为每个域名分别运行Certbot命令,并在Nginx配置文件中添加相应的server块,重启Nginx以使更改生效。

0