千家信息网

基于Nginx配置https证书

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,关于平台配置https证书准备内容:1、授权可以的证书文件2、Nginx上配置证书3、后端iis上站点上配置证书4、程序代码调整判断一、在Nginx上配置证书listen 443 ssl;ssl on
千家信息网最后更新 2026年10月31日基于Nginx配置https证书

关于平台配置https证书


准备内容:

1、授权可以的证书文件

2、Nginx上配置证书

3、后端iis上站点上配置证书

4、程序代码调整判断



一、在Nginx上配置证书

listen 443 ssl;

ssl on;

ssl_certificate /usr/local/nginx/keys/xxx.com.pem;

ssl_certificate_key /usr/local/nginx/keys/xxx.com.key;

ssl_session_timeout 5m;

ssl_protocols SSLv3 TLSv1;

ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;

ssl_prefer_server_ciphers on;

server_name xxx.xxx.com;

index index.html;

access_log logs/ssl.lan.xxx.xxx.com access_log;

在Nginx中,配置的负载后端服务信息

这里需要注意在proxy_pass配置中, 需要使用https方式



二、iis上配置证书

1、导入证书

打开mmc控制台,添加证书配置项

通过导入对应的证书文件, 导入"个人","中级证书颁发机构" 这2个节点都需要导入操作。


2、应用站点配置证书

在前面的正确导入证书后,配置站点时选择https类型后,在SSL证书中,就可以看到导入成功的证书信息

这里需要注意的是证书授权的域名需要相同,并且对应二级域名不要多个" . "号出现

这里的配置端口30011,这个是提供给Nginx配置中,负载使用的

说明:这里的主机名,可以不配置,在nginx负载时,可以通过ip和端口找到




三、程序中配置支持https

程序中,相关的考试,计时,视频,登录相关地址,根据当上下文中的IsSecureConnection 判断连接信息

//

// 摘要:

// 获取一个值,指示 HTTP 连接是否使用安全套接字(即 HTTPS)。

//

// 返回结果:

// 如果连接是 SSL 连接,则为 true;否则为 false。

public bool IsSecureConnection { get; }


对应的web.config中配置相应的节点,这里主要是考虑支持http, https 两种不同方式支持,在再则会方便测试环境中存在2种地址不同情况,因为做了2个节点的配置,正式使用时,理论上2种类型的域名地址配置的是相同的。

(可以根据类型配置不同的资源地址)



在平台中,如登录使用的是cas服务, 平台侧与cas进行验票后,web.config需要进行如下配置:


在web.config中,增加如上节点的配置,否则会出现以下异常信息,造成用户登录不了


Ticket validation error: DotNetCasClient.Validation.TicketValidationException: CAS server ticket validation threw an Exception ---> System.Net.WebException: 服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF

附加说明:

1、针对使用DotNetCasClient组件时,如果需要看相应日志信息,需要对web.config增加如下配置


以下是平台的nginx配置

server {

listen 443 ssl;

ssl on;

ssl_certificate /usr/local/nginx/keys/xxx.com.pem;

ssl_certificate_key /usr/local/nginx/keys/xxx.com.key;

ssl_session_timeout 5m;

#ssl_protocols SSLv3 TLSv1;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;

ssl_prefer_server_ciphers on;

server_name xxx.xxx.com;

index index.html;

access_log logs/ssl.lan.xxx.xxx.com access_log;



配置永久http重定向https

[dangzheng@db1 extra]$ cat xxx-http-test.conf

server {

listen 80;

server_name xxx.xxx.com;

access_log logs/xxx.xxx.com.access.log access_log;

location / {

rewrite ^(.*) https://xxx.xxx.com/$1 permanent;

}

}

permanent 表示永久重定向

$1 表示域名后带的参数信息

配置参考:http://blog.csdn.net/zhanglinjian21/article/details/7631515

配置Nginx 中的 default

解决低版本(xp ie8类似)浏览器,只能认到1个https证书问题,如果没有配置,有多个证书时,浏览器访问就会有可能找到不正确的证书,经起访问不正常现象



五、SSL配置优化

1、HSTS

HSTS(HTTP Strict Transport Security)。服务端返回一个 HSTS 的 http header,浏览器获取到 HSTS 头部之后,在一段时间内,不管用户输入 www.baidu.com 还是 http://www.baidu.com ,都会默认将请求内部跳转成https://www.baidu.com;

将下述行添加到你的 HTTPS 配置的 server 块中:

add_header Strict-Transport-Security "max-age=31536000";

ssl_session_cache shared:SSL:20m;

ssl_session_timeout 20m;


参照Nginx的官方文档1MB内存大约可以存储4000个session,按例配置20M大约可以存储80000。根据需求合理设置

ssl_prefer_server_ciphers On; #指定服务器密码算法在优先于客户端密码算法时

既需要https,也需要http,http需要跳转到https

新版本,重新创建新的server配置

server {

listen 80;

server_name www.域名.com;

return 301 https://$server_name$request_uri;(进行跳转)

}

server {

listen 443 ssl;

server_name www.域名.com;

ssl_certificate /usr/share/nginx/html/zhengshu/XX.XX.crt;(证书)

ssl_certificate_key /usr/share/nginx/html/zhengshu/XX.XX.key;(证书密钥)

}



配置 证书 信息 域名 服务 平台 节点 不同 地址 浏览器 程序 站点 类型 支持 浏览 登录 相同 多个 密码 文件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会 西安纸贵互联网科技有限公司 科技互联网项目 互联网科技金融 有马互联网科技 艾特科技互联网 极限挑战互联网科技 云电互联网科技 互联网女皇 腾讯科技 济南和联互联网科技有限公司 湖南洣水互联网科技有限公司扣款 科技与互联网的利与弊 来此购互联网科技有限公司 本届互联网博览会上的黑科技 允成互联网科技有限公司融资 沐思想互联网科技有限公司 每天都有哪些好的互联网科技 全球科技与互联网公司市值变化 陕西九四连强互联网科技有限公司 互联网科技快速发展优美句子 互联网科技垄断 易互联网科技有限公司 狮子座互联网科技有限公司 汽车互联网创新科技园 现代互联网科技股 互联网科技项目计划书材料类 深圳艾果互联网通讯科技 伊宁互联网科技做什么的 本届互联网大会上的黑科技 互联网科技接地气
0