nginx配置ssl证书后无法访问https

一直听说https更安全,要安装证书,一直没试过,今天终于试了试

首先得有个http的域名网站,服务器。

到阿里云的安全-ssl证书管理申请一个免费的,可以绑定一个域名  然后完善资料,照着例子配置一个ssl 重启nginx

具体流程阿里云有文档

下面是我的conf配置文件

server
        {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name     yeves.cn www.yeves.cn;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /www/yeves;
        ssl on;

       ssl_certificate  /usr/local/nginx/cert/a.pem;
       ssl_certificate_key  /usr/local/nginx/cert/a.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;

        #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 /{
		      try_files $uri $uri/ /index.php?$uri&$args;
		}
        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /tmp/yeves.log;
}

server
        {
        listen          80;
        server_name yeves.cn www.yeves.cn;
        return 301 https://www.yeves.cn$request_uri;
}

配置好后 重启nginx

结果发现一直无法访问,但是http可以的,突然想起阿里云有个安全组,端口必须手动开放,去开放了443端口果然可以了

目的:https方式访问网站

解决步骤:

1,首先得确保http访问该网站是没问题的。

2,配置nginx.conf监听443端口,443是ssl默认的端口

a,nginx.conf这个文件所在路径:/www/server/nginx/conf/nginx.conf(因为我是用宝塔面板安装的nginxa跟不用宝塔面板安装的路径会有所不同)

b,nginx.conf中http模块里的server模块是用来配置虚拟主机的,我们的ssl配置就要再server模块里完成,因为宝塔面板在创建网站的时候,就将每个虚拟主机的conf单独写出来了,然后在nginx.conf里include这些单独的conf。形如:include /www/server/panel/vhost/nginx/*.conf;

c,需要修改你想要配置https的虚拟主机的conf文件,形如(需增加的配置):

server

{

listen 443 ssl;

server_name www.xxxxx.cn;这个域名必须是你申请ssl证书的时候绑定的域名

ssl on;

ssl_certificate /www/server/panel/vhost/cert/1682997_www.fancy56.cn.pem; #SSL 证书文件路径,由证书签发机构提供

ssl_certificate_key /www/server/panel/vhost/cert/1682997_www.fancy56.cn.key; #SSL 密钥文件路径,由证书签发机构提供

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;

}

3,到云服务器的控制台,添加安全组规则,增加443端口

4,云服务器的防火墙开启443端口

firewall-cmd --zone=public --add-port=443/tcp --permanent  增加443端口

firewall-cmd --reload  重启防火墙

以上就是我在配置ssl的时候遇到的一些问题解决方式。

阿里云文档:

https://help.aliyun.com/knowledge_detail/95491.html?spm=5176.2020520154.cas.25.1abbF170F170Ll

原文地址:https://www.cnblogs.com/php-linux/p/10667178.html

时间: 2024-10-04 23:27:47

nginx配置ssl证书后无法访问https的相关文章

Nginx配置SSL证书部署HTTPS网站(转)

原文:http://www.lovelucy.info/nginx-ssl-certificate-https-website.html 一.什么是 SSL 证书,什么是 HTTPS SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现: 1.数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听: 2.用户可以通过服务器证书验证他所访问的网站是否真实可靠. (via百度百科) HTT

Nginx配置SSL证书部署HTTPS网站

一.什么是 SSL 证书,什么是 HTTPSSSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:1.数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听:2.用户可以通过服务器证书验证他所访问的网站是否真实可靠. HTTPS 是以安全为目标的 HTTP 通道,即 HTTP 下加入 SSL 加密层.HTTPS 不同于 HTTP 的端口,HTTP默认端口为80,HTTPS默认端口为44

Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程

一.HTTPS 是什么? 根据维基百科的解释: 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器身份的鉴定.HTTPS连接经常被用于万维网上的交易支付和企业信息系统中敏感信息的传输.HTTPS不应与在RFC 2660中定义的安全超文本传输协议(S-HTTP)相混. HTTPS 目前已经是所有注重隐私和安全的网站的首选,随着技术的不断发展,HTTPS 网站已不再是

[转] Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程

一.HTTPS 是什么? 根据维基百科的解释: 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器身份的鉴定.HTTPS连接经常被用于万维网上的交易支付和企业信息系统中敏感信息的传输.HTTPS不应与在RFC 2660中定义的安全超文本传输协议(S-HTTP)相混. HTTPS 目前已经是所有注重隐私和安全的网站的首选,随着技术的不断发展,HTTPS 网站已不再是

nginx配置ssl证书

申请的ssl证书的网址:https://www.pianyissl.com/ 由于是测试,所以选择免费的可试用 申请后会有个压缩包 里面有个nginx文件夹,把下面的 server.key server.pem 这两个文件上传到服务器上. 在这个我把这两个文件移动到/usr/local/nginx/conf 目录下 server 端编译nginx时需要加参数 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-h

nginx配置ssl证书实现https访问

一,环境说明 服务器系统:centos7.2 服务器IP地址:4xxxx 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点"解析",进入解析页面后选择[添加解析]按钮会弹出如下页面: 主机记录这里选择@,记录值就是服务器ip地址,确认. 三,申请ca证书 在阿里云控制台-产品与服务-安全(云盾)-CA证书服务(数据安全),点击购买证书, 选择"免费版DV SSL",点击立即购买: 然后点去支付: 最后确认

nginx配置ssl证书,允许ssl访问

官方参考文档,包括apache.nginx.IIS的ssl配置: http://www.wosign.com/Docdownload/ 实例一.配置http转发到https,一个虚拟主机内有两个server,部分内容使用**代替 Ngx01(10.66.**.**),Ngx02(10.66.**.**)1.在/etc/nginx添加sslkey文件夹,导入ssl证书到该文件夹下,参考附件2.修改虚拟主机upstream am*** { server 172.22.**.*:80; keepali

Nginx 配置SSL证书

在nginx配置文件中改为如下 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) : server { listen 80; server_name www.jado.vip jado.vip; return 301 https://www.jado.vip$request_uri; } server { listen 443; server_name www.jado.vip jado.vip; ssl on; ssl_certificate cert

Windows下Nginx配置SSL实现Https访问(包含证书生成)

Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP全名超文本传输协议,客户端据此获取服务器上的超文本内容.超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现.因此,HTTP主要负责的是"内容的请求和获取".问题就出在这部分.行监控.劫持.阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客户端