You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker启动Nginx后浏览器访问返回400错误如何解决?

Nginx Docker容器400错误问题解决

问题根源

日志中的\x16\x03\x01等二进制字符是TLS握手请求标识,说明你用HTTPS协议访问了仅支持HTTP的8080端口。Nginx官方镜像默认在容器内80端口提供HTTP服务,你映射到本地8080后,若浏览器输入https://localhost:8080,会发送TLS加密请求给HTTP服务,触发400错误。

快速解决

直接在浏览器地址栏输入:http://localhost:8080(明确使用HTTP协议),即可正常加载Nginx默认页面。

如需HTTPS访问的配置步骤

如果需要通过HTTPS访问服务,需为Nginx配置SSL证书:

  1. 准备SSL证书(可生成自签名证书或使用权威机构颁发的证书)
  2. 创建自定义Nginx配置文件,添加HTTPS监听配置示例:
    server {
        listen 443 ssl;
        server_name localhost;
    
        ssl_certificate /etc/nginx/certs/cert.pem;
        ssl_certificate_key /etc/nginx/certs/key.pem;
    
        location / {
            root /usr/share/nginx/html;
            index index.html index.htm;
        }
    }
    
  3. 启动容器时挂载配置文件和证书目录,同时映射443端口:
    docker run -p 8080:80 -p 8443:443 \
      -v /本地路径/nginx.conf:/etc/nginx/nginx.conf \
      -v /本地路径/certs:/etc/nginx/certs \
      nginx
    
    之后即可通过https://localhost:8443访问。

验证方式

用curl测试HTTP访问是否正常:

curl http://localhost:8080

返回Nginx默认页面的HTML代码即表示服务正常。

内容的提问来源于stack exchange,提问作者machadoah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 11:37:03