这不会那不会 2024-06-24 15:22 采纳率: 59.5%
浏览 50
已结题

nginx无证书访问https失败

急呀在xian等
nginx无证书访问https请求
最近开发遇到一个需求,要求在linux环境配置https服务
但是域名服务商和linux环境服务器是不通的,所以没办法走DNS验证,网上看了一些方法,可以无证书配置域名,但是实操下来
发现还是不行,麻烦友友们看下
这个不加s是可以访问的

img

server {
        listen       7002;
        server_name  10XXXXX20;
        location / {
            root   /usr/nginx/nginx/html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }


    # HTTPS server
    server {
        listen       443 ssl;
        server_name  10XXXXX20;

        #生成的ssl证书
        ssl_certificate /usr/nginx/ssl/nginx.crt;
        ssl_certificate_key /usr/nginx/ssl/nginx.key;

        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        location / {
            proxy_pass http://10XXXXXXX7002;
                        root   html;
            index  index.html index.htm;
        }
    }

配置文件

img

  • 写回答

16条回答 默认 最新

  • 阿里嘎多学长 2024-06-24 15:22
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    您好!看起来您在配置Nginx以使用HTTPS时遇到了一些问题。根据您提供的配置文件和描述,我将尝试提供一些可能的解决方案。

    首先,确保您的Nginx配置文件正确无误。在您的配置中,您已经指定了SSL证书和私钥的位置,这是正确的。但是,还有一些其他因素可能影响HTTPS服务的启动:

    1. 确保SSL证书和私钥文件存在:检查/usr/nginx/ssl/nginx.crt/usr/nginx/ssl/nginx.key这两个文件是否真的存在于指定的路径下。

    2. 文件权限:确保Nginx进程有权访问SSL证书和私钥文件。您可以使用ls -l命令查看文件权限,并使用chmod命令调整权限,如果需要的话。

    3. 配置语法:检查配置文件是否有语法错误。您可以使用nginx -t命令来测试配置文件的语法。

    4. 重新加载Nginx:在修改配置文件后,确保重新加载Nginx以应用更改。使用nginx -s reload命令来重新加载配置。

    5. 防火墙设置:确保服务器的防火墙设置允许443端口的流量。

    6. 证书问题:如果您使用的是自签名证书,一些浏览器可能会警告证书不受信任。您可以通过添加例外或使用受信任的CA签发的证书来解决这个问题。

    7. 无证书配置:如果您确实需要无证书配置HTTPS,可以尝试使用Nginx的ssl指令来禁用SSL证书验证。但这通常不推荐,因为它会降低安全性。

    如果上述方法都不能解决问题,您可能需要提供更多的错误信息,例如Nginx的错误日志,这将有助于进一步诊断问题。

    至于参考链接,这里有一些可能有用的资源:

    希望这些信息能帮助您解决问题。如果您需要进一步的帮助,请随时告诉我。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月26日
  • 赞助了问题酬金15元 6月24日
  • 创建了问题 6月24日