nignx配置https证书

本文详细描述了如何在腾讯云上为Nginx配置SSL,包括下载并上传SSL证书,修改nginx.conf文件以支持HTTPS,处理SSL错误,并最终设置HTTP到HTTPS的自动跳转。

nignx配置https

1.下载证书并上传至云服务器

因为我用的是腾讯云,所以在腾讯云上面申请了一个免费ssl证书,具体可以点下面的链接

申请免费 SSL 证书

申请之后将文件解压放在

/www/server/nginx/conf/

路径里面

2.配置nginx

vim /www/server/nginx/conf/nginx.conf

得到如下内容

[root@yongjie tieyongjie.cn_nginx]# vim /www/server/nginx/conf/nginx.conf

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
                fastcgi_intercept_errors on;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        limit_conn_zone $binary_remote_addr zone=perip:10m;
                limit_conn_zone $server_name zone=perserver:10m;

        server_tokens off;
        access_log off;

server
    {
        listen 80;
        server_name www.tieyongjie.cn;
        location / {
        proxy_pass http://localhost:8090;  # 指向Docker容器的端口8080
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
        access_log  /www/wwwlogs/access.log;
    }
include /www/server/panel/vhost/nginx/*.conf;

找到http{...},并输入以下配置信息。

ssl_certificate tieyongjie.cn_nginx/tieyongjie.cn.csr
ssl_certificate_key tieyongjie.cn_nginx/tieyongjie.cn.key

检测nginx文件

nginx -t
# 检测正常之后,重载nignx配置
systemctl reload nginx

设置 HTTP 请求自动跳转 HTTPS(可选)

server {
 listen 80;
 server_name cloud.tencent.com;    #填写您的证书绑定的域名,例如:cloud.tencent.com
 return 301 https://$host$request_uri;  	 #将http的域名请求转成https
}

保存修改后的 nginx.conf 文件后退出,

3.错误:修改后出现错误

cannot load certificate "/www/server/nginx/conf/tieyongjie.cn.csr": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

发现com_bundle.crt文件搞错成了csr那个文件,修改之后重新检测已经可以

[root@yongjie conf]# nginx -t
nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /www/server/nginx/conf/nginx.conf test is successful

然后打开之后发现还是无法进去网址,此时打开如下配置

将server中listen 80改成 listen 443 ssl

server {
 listen 443 ssl;
 server_name cloud.tencent.com;    #填写您的证书绑定的域名,例如:cloud.tencent.com
 # return 301 https://$host$request_uri;  	 #将http的域名请求转成https
}
### 如何在 Nginx 中正确配置 HTTPS 证书 为了实现更高的安全性并保护数据传输,配置 Nginx 支持 HTTPS 是非常重要的。以下是关于如何在 Nginx 中正确配置 HTTPS 证书的具体方法。 #### 获取 SSL/TLS 证书 首先需要获取有效的 SSL/TLS 证书。这可以通过受信任的证书颁发机构 (CA) 购买或者使用免费的服务(如 Let's Encrypt)。此过程通常涉及生成私钥和证书签名请求 (CSR),并将 CSR 提交给 CA 来获得最终的证书文件[^1]。 #### 修改 Nginx 配置文件 编辑 Nginx 的主要配置文件 `nginx.conf` 或者特定站点的虚拟主机配置文件。这些文件一般位于 `/etc/nginx/` 或 `/usr/local/nginx/conf/` 目录下。具体操作如下: 1. **启用 SSL 参数** 找到或添加与 SSL 相关的部分,并取消注释必要的指令。例如,在默认 HTTP 块中定义一个新的 server 块来处理 HTTPS 请求。 2. **指定证书路径** 将之前获取的 SSL 证书及其对应的私钥放置于服务器上的某个安全目录中(比如 `/etc/nginx/ssl/`),然后更新配置文件中的 `ssl_certificate` 和 `ssl_certificate_key` 字段指向它们的位置[^4]。 ```nginx server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com.key; ... } ``` 上述代码片段展示了基本的 HTTPS 设置方式,其中指定了监听端口为标准的安全连接端口号 443 并启用了 SSL 功能;同时设置了公有证书以及私密钥匙所在的绝对路径。 #### 测试配置有效性 完成修改之后,可以运行命令检查语法是否有误: ```bash sudo nginx -t ``` 如果一切正常,则重新加载服务使更改生效而无需重启整个进程: ```bash sudo systemctl reload nginx ``` #### 验证部署成果 最后一步是在浏览器里尝试访问你的网站 URL 加上前缀 'https://' ,观察页面能否顺利载入并且地址栏显示锁形图标表示加密链接已建立成功[^2]^。此外还可以借助在线工具进一步检测安装质量,像 Qualys 提供的 SSL Labs Server Test 即是一个不错的选择。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值