CentOS7自签名SSL证书并给nginx配置https

简介: CentOS7自签名SSL证书并给nginx配置https

生成SSL证书

详细步骤如下

安装依赖包

需要安装 openssl 之后才能生成ssl证书

yum install -y openssl openssl-devel

生成私钥

这一步会让你输入一个 4~2048 位的密码,你需要暂时记住这个密码

openssl genrsa -des3 -out server.key 2048

输入两遍相同的密码:

.png)]

生成CSR(Certificate Signing Request 证书签名请求 )

输入以下命令:

openssl req -new -key server.key -out server.csr

同时填写一些信息:

信息说明:

[root@localhost src]# openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key: 在这里输入您刚刚输入的密码
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:国家简称,中国是CN
State or Province Name (full name) []:省份拼音
Locality Name (eg, city) [Default City]:城市拼音
Organization Name (eg, company) [Default Company Ltd]:公司英文名
Organizational Unit Name (eg, section) []:部门英文名
Common Name (eg, your name or your server's hostname) []:域名
Email Address []:邮箱
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:密码,可不填
An optional company name []:公司名称,可不填

取消私钥当中的密码

openssl rsa -in server.key -out server.key

只需要输入一遍密码就好了:

生成自签名SSL证书

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

使用ssl给nginx配置https

详细步骤

安装nginx

可参考文档:https://blog.csdn.net/m0_51510236/article/details/115637918

请求http的80端口自动跳转到https的443端口

在 nginx.conf 配置中加上这样一个server配置,这会让所有的http访问到的80端口自动转向https的请求方式

server {
    listen       80;
    server_name  localhost;
    rewrite ^(.*)$ https://$host$1 permanent;
}

然后我们在http块中加上一行代码,表示引入 vhost 下面所有的 .conf 文件

include vhost/*.conf;

整体的 nginx.conf 文件的内容如下:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        # 这里是只要遇到请求http的80端口的请求,全部从定向到https
        listen       80;
        server_name  localhost;
        rewrite ^(.*)$ https://$host$1 permanent;
    }
    include vhost/*.conf;
}

添加https的vhost配置文件

在 nginx 的 conf 文件夹下创建两个文件夹,分别为 vhost 和 ssl

  • vhost: 虚拟主机的配置路径,上面的引入的配置文件也是来自这个文件夹下
  • ssl: 用于存储我们之前使用到的证书

创建文件夹的命令(nginx的安装目录当中):

mkdir conf/{vhost,ssl}

然后将之前生成的 server.crt 和 server.key 复制到 ssl 文件夹当中:

再在 vhost 文件夹当中创建 域名.conf 的nginx配置文件,我演示时候使用的域名是 greateme.com 所以我的文件名是 greateme.com.conf:

server {
    listen       443 ssl;
    server_name  greateme.com;
    ssl_certificate /opt/server/nginx/conf/ssl/server.crt;
    ssl_certificate_key /opt/server/nginx/conf/ssl/server.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        root   html;
        index  index.html index.htm;
    }
}

大致的目录结构是:

nginx
  |- sbin
  |   └─ nginx
  └─ conf
      |─ nginx.conf
      |─ vhost
      |   └─ greateme.com.conf
      └─ ssl
          |- server.crt
          └─ server.key

需要注意的地方:

开启访问

因为是自签名,所以会抛出不安全,如果需要安全则需要去证书服务商那购买证书:

点击确定不安全,然后就是通过https访问的nginx了:

注意如果是 MacOS 则需要输入 thisisunsafet (浏览器界面直接输入)来确定这个界面不安全之后才能访问

相关文章
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1165 87
|
网络安全 Windows
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
|
网络协议 算法 数据建模
IP 地址,包括 IPv6 怎么申请 SSL证书来实现 https
很多企业单位已经开始在使用 IPv6 资源,跟 IPv4 一样,IPv6也是需要SSL证书的。在目前的SSL证书品牌,KeepTrust 是可以支持 IPv6 地址的。跟普通IP地址一样,给IPv6签发SSL证书也是需要验证申请者对 IP 地址的管理权限的。如果是 OV 版,还需要验证组织信息的真实性。
1669 21
|
安全 网络协议 应用服务中间件
内网ip申请SSL证书实现https访问
内网IP地址虽不能直接申请公网SSL证书,但可通过IP SSL证书保障数据安全。流程包括:确定固定内网IP,选择支持内网IP的CA,注册申请证书,生成CSR,验证IP所有权,下载部署证书至Web服务器,测试HTTPS访问,确保配置正确及证书有效。此方法适用于内网环境,提升数据传输安全性。
内网ip申请SSL证书实现https访问
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
5540 8
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
1362 10
|
Web App开发 算法 应用服务中间件
nginx开启局域网https访问
【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。
1524 2
|
存储 网络安全
Curl error (60): SSL peer certificate or SSH remote key was not OK for https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/repodata/repomd.xml [SSL: no alternative certificate subject name matches target host name 'update.cs2c.com.cn']
【10月更文挑战第30天】在尝试从麒麟软件仓库(ks10-adv-os)下载元数据时,遇到 SSL 证书验证问题。错误提示为:`Curl error (60): SSL peer certificate or SSH remote key was not OK`。可能原因包括证书不被信任、证书与域名不匹配或网络问题。解决方法包括检查网络连接、导入 SSL 证书、禁用 SSL 证书验证(不推荐)、联系仓库管理员、检查系统时间和尝试其他镜像。
5354 1
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
安全 数据建模 应用服务中间件
如何给IP地址添加SSL证书(https)
为IP地址配置SSL证书实现HTTPS访问,需拥有固定公网IP,选择支持IP证书的CA,完成账户注册、证书申请、所有权验证及证书安装。验证过程涉及在服务器上放置特定文件,确保可访问。安装后需测试连接,注意兼容性和安全性,定期维护证书。

热门文章

最新文章