laravel - 普通 HTTP 请求被发送到 HTTPS 端口错误 Docker nginx
问题描述
我正在尝试通过访问我的服务器http://localhost:8343/
,但它总是显示错误:
400 错误请求
纯 HTTP 请求被发送到 HTTPS 端口
nginx/1.14.2
这是我对docker-compose.yml的配置。
/*other configurations*/
services:
pages:
build:
context: .
dockerfile: ./pages/Dockerfile
container_name: proj_idcf_pages_1
ports:
- "8180:80"
- "8343:443"
environment:
- TZ=Asia/Tokyo
- LA_PROJECT_DIR=laravel
depends_on:
- php7
volumes:
- ../service/pages/:/var/www/
- ./ssl_key/:/etc/nginx/ssl_key
networks:
- proj_default
/*other configurations*/
页面/Dockerfile
FROM centos:centos7
FROM nginx:1.14.2
COPY pages/default.conf /etc/nginx/conf.d/default.conf
RUN sed -i -e "s/access_log .*;$/access_log \/dev\/stdout;/g" /etc/nginx/nginx.conf
RUN sed -i -e "s/error_log .*;$/error_log \/dev\/stderr debug;/g" /etc/nginx/nginx.conf
CMD ["nginx", "-g", "daemon off;"]
页面/default.conf
server {
listen 80;
rewrite ^(.*)$ http://localhost:8343$1 permanent;
}
server {
listen 8343 ssl;
listen 443 ssl;
index index.php;
server_name localhost:8180;
error_log /dev/stderr debug;
access_log /dev/stdout;
root /var/www/laravel/public;
ssl_certificate /etc/nginx/ssl_key/localhost.pem;
ssl_certificate_key /etc/nginx/ssl_key/localhost.key;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php7:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
add_header my_string 'start';
add_header $request_filename $request_filename;
add_header my_document_root $document_root;
add_header fastcgi_script_name $fastcgi_script_name;
add_header my_fastcgi_path_info $fastcgi_path_info;
add_header my_string_2 ‘end’;
}
/*other settings*/
有人可以帮我解决这个问题吗?我已经坚持了好几天了:(
解决方案
在你的docker-compose.yaml
->
ports:
- "8180:80"
- "8343:443" <------ Here you bind the host port 8343 to container's port 443
并在 nginx 配置文件中 ->
server {
listen 8343 ssl;
listen 443 ssl; <------ you configured that port to listen https traffic
推荐阅读
- font-awesome - 如何在 Vuetify 和 Nuxt.js 中使用 Font-Awesome SVG
- python - 如何使用多行和多列作为输入在 DataFrame Column 上应用函数?
- alexa - 如何询问 Alexa 技能的语音评级?
- c# - 在 DataTable Delete 操作中多次发送 Ajax 请求 - ASP.NET、JQuery、Ajax
- powershell - 将查询对象格式化为数组
- javascript - 为什么严格模式不会在重复的属性名称上引发语法错误?
- python - 如果在“-”和“-”之间,则打印字符串
- android - 如何在android模拟器上以编程方式设置虚拟场景图像
- javascript - 如何在具有“contenteditable”属性的元素上触发功能?
- c - 如何指示 MSVC 编译器使用 64 位/32 位除法而不是较慢的 128 位/64 位除法?