Nginx安装SSL证书实践教程
昨天接到客户询问安装SSL证书的问题:“Nginx如何安装SSL证书?”为了避免再有类似的客户遇到相同问题,安信SSL证书特地整理出相关教程,帮助大家更好的使用SSL证书。
第一步:获取证书
服务器 SSL 证书由系统通过 Email 方式发送给用户,证书文件的内容格式如下,请把您的 SSL证书内容(包括“—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”)粘贴到记事本等文本编辑器中,在服务器证书代码文本结尾处回车换行,并分别粘贴证书链代码(包括“—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”),修改文件扩展名,保存包含证书和证书链代码的文本文件为 server.pem 或者 server.crt 文件。
第二步:修改配置文件
最后把 server.crt(或者 server.pem) 、server.key(生成 csr 时生成的私钥)两个文件保存到同一个目录,例如/usr/local/nginx/conf 目录下。
1.用文本编辑器打开 Nginx 根目录下 conf/nginx.conf 文件找到并更新一下内容:
server
{
listen 443 ssl;
ssl_certificate /usr/local/nginx/conf/server.crt; #(备注:证书路径) ssl_certificate_key /usr/local/nginx/conf/server.key; #(备注:私钥路径) ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on; location / {
root /home/wwwroot/www.domain.com; #(备注:网站文件路径) index index.php index.html index.htm; #(备注:默认首页文件指定)
}
#Blow,I can’t anyway update. listen 80 default_server;
#listen [::]:80 default_server ipv6only=on; server_name _;
index index.html index.htm index.php; root /home/wwwroot/default;
第三步:https 访问排错调整设置
如果控制每个网站对应的文件路径有单独的配置文件,一般放在/usr/local/nginx/conf/vhost下面,需要编辑对应网站配置文件配置 443 端口,不然可能导致 http 能正常访问,https 访问 404 报错。修改规则参考如下:
server
{
listen 80; #启用 80
listen 443 ssl; #404 报错就是需要在这里启用 443
#listen [::]:80;
server_name www.domain.com domain.com;
index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/www.domain.com;
include rewrite/opencart.conf; #error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known { allow all;
}
location ~ /\.
{
deny all;
}
location / {
if ($host != ‘www.domain.com’) {
rewrite ^/(.*)$ https://www.domain.com/$1 permanent;
#设置重定向自动跳转到 www 网站。
}
try_files $uri @opencart;
}
location @opencart {
rewrite ^/(.+)$ /index.php?_route_=$1 last;
}
location /admin/ { index index.php;
}
location ~* (\.(tpl|ini))$ { deny all;
}
access_log /home/wwwlogs/domain.log;
}
修改保存重启 nginx 服务:
service nginx restart
https 正常访问演示:
以上就是Nginx安装SSL证书的所有的操作帮助,如果还有疑问或者操作遇到困难,可以咨询安信SSL证书官网的客服,我们提高免费的安装证书的服务,而且还有一对一专业指导。
现在,参与安信SSL证书优惠活动,还能享受88折哦,最高级 EV 证书最低只要898元。活动截止时间2019年1月15日,时间有限,先到先得。活动详情:https://www.anxinssl.com/promote1