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

加500行埋点是不是会占用你一天的时间而且很容易犯错,如果你想只用一小时准确加完这500行埋点剩下一天喝茶聊天来试试这520工具,高效加埋点,目前我们公司100号前端都在用

http://www.520webtool.com/

自己开发所以免费,里面有使用视频

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

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

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

具体流程阿里云有文档

下面是我的conf配置文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

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://help.aliyun.com/document_detail/25468.html?spm=a2c4g.11186623.2.13.6f8771afXs2iwV#concept-ocl-bvz-xdb

发布了134 篇原创文章 · 获赞 401 · 访问量 162万+

猜你喜欢

转载自blog.csdn.net/sd19871122/article/details/104084163