ama*_*sta 9 nginx docker alpine-linux
为 Nginx 设置 SSL 并发出请求后,我收到带有神秘消息的乱码响应client sent invalid method while reading client request line。
我在 Alpine Docker 容器中使用 Let's Encrypt 生成了证书(对于上下文,与错误无关)。
这是一个屏幕截图:
简化的 Nginx 虚拟主机配置如下:
server {
listen 443;
ssl_certificate /vsdroot/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /vsdroot/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_dhparam /vsdroot/letsencrypt/ssl-dhparams.pem;
include /vsdroot/letsencrypt/options-ssl-nginx.conf;
root /vsdroot;
location / {
index index.html;
}
Run Code Online (Sandbox Code Playgroud)
安全注意事项:我的 SSL 密钥位于 Nginx 文档根目录内,仅用于本地测试,请勿在生产环境或任何地方执行此操作!
我缩小了导致问题的指令范围,并能够通过修改listen服务器块上的行来一致地复制问题。
再生产。产生乱码和client sent invalid method while reading client request line错误。
坏listen线:
server {
listen 443;
Run Code Online (Sandbox Code Playgroud)
错误略有不同,但仍然没有骰子:
server {
listen ssl;
Run Code Online (Sandbox Code Playgroud)
产品:
...
固定的。错误消失,我可以满足我的请求(纯 htmlfastcgi_pass等)。
配置:
server {
listen 443 ssl;
Run Code Online (Sandbox Code Playgroud)
...
利润截图:
我花了比我愿意承认的更多的时间来将神秘错误缩小到单个listen指令。
| 归档时间: |
|
| 查看次数: |
8537 次 |
| 最近记录: |