先看下效果: 原来的是 http,配置好后 https 也能用了,并且显示为安全链接。 首先需要 SSL证书 。 SSL 证书是跟域名绑定的,还有有效期。 windows 下双击可以查看相关信息。 下载的证书是分 Apache、IIS、Tomcat 和 Nginx 的。 我们需要的是 Nginx 文件夹下的 crt 和 key 这两个文件的。 下面说下 nginx 的配置过程。 首先通过官网进行下载:https://nginx.org/en/download.html 然后我们要配置 nginx.conf 这个文件。 默认的配置文件看起来比较乱,可以把 # 开头的注释行都去掉。 我们直接说最基础的配置点,先保证大家能看懂,后面再慢慢的拓展。 只需在 server 这个里面进行下面的配置即可。 代码如下: - server {
- listen 443 ssl;
- server_name www.xxx.xyz;
- ssl_certificate ssl/scsxxx.xyz_server.crt;
- ssl_certificate_key ssl/scsxxx.xyz_server.key;
- location / {
- proxy_pass http://www.xxx.xyz:端口号;
- }
- }
复制代码
证书可以在配置文件所在的文件夹下面新建个 ssl 的文件夹,把证书信息放进去再引用。 然后 cmd 在 nginx 里通过 nginx -t 可以查看配置情况。 直接 nginx 就运行了。 这个不要重复运行,关掉 cmd 窗口进程还在,反复运行会生成多个进程,后面改配置后再开个窗口,通过 nginx -s reload 可以重新加载配置项。 还有就是一定要在服务器管理的安全组里把 443 这个端口放开。 然后就成功啦。
相关参数内容拓展 - server {
- listen 443 ssl;
- server_name example.com;
- ssl_certificate /path/to/certificate.crt;
- ssl_certificate_key /path/to/private.key;
- ssl_protocols TLSv1.2 TLSv1.3;
- ssl_prefer_server_ciphers on;
- # 可选: 配置 SSL 会话缓存以提高性能
- ssl_session_cache shared:SSL:10m;
- ssl_session_timeout 10m;
- # 可选: 启用 OCSP Stapling 以提高 SSL 验证性能和安全性
- ssl_stapling on;
- ssl_stapling_verify on;
- ssl_trusted_certificate /path/to/ssl_trusted_certificate.crt;
- # 可选: 配置 HSTS 以增强安全性
- add_header Strict-Transport-Security "max-age=31536000" always;
- # 可选: 配置证书链文件以支持某些客户端
- # ssl_chain_certificate /path/to/chain_certificate.crt;
- location / {
- # 配置其他服务器设置
- }
- }
复制代码
在上面的配置中:
- listen 443 ssl; 指定该服务器块监听 443 端口,并启用 SSL 。
- ssl_certificate 和 ssl_certificate_key 分别指定 SSL 证书文件和密钥文件的路径。
- ssl_protocols 指定允许的 SSL 协议版本。
- ssl_prefer_server_ciphers 开启后,服务器端的优先级更高,选择服务器端的加密套件。
- ssl_session_cache 和 ssl_session_timeout 配置 SSL 会话缓存以提高性能。
- ssl_stapling 和 ssl_stapling_verify 开启 OCSP Stapling 以提高 SSL 验证性能和安全性。
- ssl_trusted_certificate 指定 OCSP Stapling 验证的证书链。
- add_header Strict-Transport-Security 启用 HSTS 以增强安全性。
- ssl_chain_certificate 可选,指定证书链文件以支持某些客户端。
|