Apache2-400使用docker服务名称访问时请求错误,但使用IP地址
我正在使用Apache2-400使用docker服务名称访问时请求错误,但使用IP地址,docker,docker-swarm,apache2.4,Docker,Docker Swarm,Apache2.4,我正在使用docker stack deploy部署堆栈。在这个堆栈中,nginx作为反向代理,apache2作为后端服务器 现在,如果我使用curl-v从其他容器访问apache2容器http://service_name:8888它返回400个错误请求错误。但是如果我尝试curl-v10.0.9.7:8888它可以使用200个成功代码 我无法确定错误在哪里 000 default.conf <VirtualHost *:*> ServerAdmin admin@sa.com
docker stack deploy部署堆栈。在这个堆栈中,nginx作为反向代理,apache2作为后端服务器
现在,如果我使用curl-v从其他容器访问apache2容器http://service_name:8888
它返回400个错误请求错误。但是如果我尝试curl-v10.0.9.7:8888
它可以使用200个成功代码
我无法确定错误在哪里
000 default.conf
<VirtualHost *:*>
ServerAdmin admin@sa.com
DocumentRoot "/var/www/site"
ServerName r.sa.com
<Directory /var/www/site>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order deny,allow
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Listen 8888
Listen 8889
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Apache阻止了以下划线(“\ux”)作为主机名的HTTP请求。如果您将服务名称更改为“服务名称”,它将起作用
参考资料:“400错误请求错误”似乎有一些使用SSL的服务参与,并在请求中接收纯文本。您可以添加一些日志吗?@matiferrigno添加了apache的error.log您可以在执行curl时添加apache和nginx反向代理日志的访问/错误日志吗?您也可以添加到stack.yml吗?
/var/log/apache2/error.log
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.0.0.9. Set the 'ServerName' directive globally to suppress this message
[Thu Mar 05 07:17:41.921722 2020] [mpm_prefork:notice] [pid 8] AH00163: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Thu Mar 05 07:17:41.922504 2020] [core:notice] [pid 8] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'