我有一个简单的服务器设置:
在我的虚拟主机文件中,我有这个配置(**中的片段)**:
Require all granted
RewriteEngine On
# [...]
RewriteRule co2avatar-app/sdp-api$ sdp-api/test/ [PT]
RewriteRule co2avatar-app/sdp-api/(.*)$ sdp-api/$1 [PT]
# anything else to index.html
RewriteRule co2avatar-app/(.+) co2avatar-app/index.html [L]
# worker definition
JkMount /sdp-api/* ajp13_worker_prod
JkMount /sdp-api ajp13_worker_prod# workers.properties -
# workers.tomcat_home=/opt/tomcat/latest/
#
# workers.java_home should point to your Java installation. Normally
# you should have a bin and lib directories beneath it.
#
workers.java_home=/usr/lib/jvm/
ps=/
worker.list=ajp13_worker_prod,ajp13_worker_test,ajp13_worker_tomcat10_test,ajp_worker_tomcat10_prod
#
#------ ajp13_worker WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
#
worker.ajp13_worker_prod.port=8009
worker.ajp13_worker_prod.host=localhost
worker.ajp13_worker_prod.type=ajp13
worker.ajp13_worker_test.port=8010
worker.ajp13_worker_test.host=localhost
worker.ajp13_worker_test.type=ajp13
worker.ajp13_worker_tomcat10_test.port=8020
worker.ajp13_worker_tomcat10_test.host=localhost
worker.ajp13_worker_tomcat10_test.type=ajp13
worker.ajp13_worker_tomcat10_prod.port=8019
worker.ajp13_worker_tomcat10_prod.host=localhost
worker.ajp13_worker_tomcat10_prod.type=ajp13
# we do not use load balancing at all.我应该指出,ajp13_worker_prod工作者指向Tomcat 9实例中的服务,ajp13_worker_tomcat10_prod工作者指向Tomcat 10实例。但是对于不同的虚拟主机(这实际上是测试系统),这是非常好的工作方式。
一切都很好直到我换了线
JkMount /sdp-api/* ajp13_worker_prod
JkMount /sdp-api ajp13_worker_prod至
JkMount /sdp-api/* ajp13_worker_tomcat10_prod
JkMount /sdp-api ajp13_worker_tomcat10_prodTomcat中的服务运行良好,我可以通过curl http://localhost:6085/[...]联系到它们。因此,端口是开放的,供本地主机使用。
但我不能从外面通过阿帕奇联系他们。在这里,我得到了一个500与The server encountered an internal error or misconfiguration and was unable to complete your request.
我扫描了所有可能的错误日志文件,但我没有发现问题,特别是在Apache日志中。
在server.xml:中如下所示。HTTP连接器可以工作,但可能不是这个吗?Apache ( ajp工作人员)和Tomcat之间存在一个问题,但是只向Apache发出请求并不有用。
下面是Apache error_log的摘录(mod_jk.log中没有任何内容):
[jk:warn] [pid 1286] No JkShmFile defined in httpd.conf. Using default /etc/httpd/logs/jk-runtime-status
[slotmem_shm:debug] [pid 1286] mod_slotmem_shm.c(448): AH02301: attach looking for /run/httpd/slotmem-shm-mod_heartmonitor.shm
[lbmethod_heartbeat:notice] [pid 1286] AH02282: No slotmem from mod_heartmonitor
[ssl:debug] [pid 1286] ssl_engine_pphrase.c(181): AH02199: SSL not enabled on vhost h2862201.stratoserver.net:80, skipping SSL setup
[ssl:debug] [pid 1286] ssl_engine_pphrase.c(239): AH02202: Init: Read server certificate from '/etc/letsencrypt/live/co2-avatar.com/cert.pem'
[ssl:debug] [pid 1286] ssl_engine_pphrase.c(239): AH02202: Init: Read server certificate from '/etc/letsencrypt/live/co2-avatar.com/cert.pem'
[ssl:debug] [pid 1286] ssl_engine_pphrase.c(239): AH02202: Init: Read server certificate from '/etc/letsencrypt/live/co2-avatar.com/fullchain.pem'
[ssl:debug] [pid 1286] ssl_engine_pphrase.c(239): AH02202: Init: Read server certificate from '/etc/letsencrypt/live/co2-avatar.com/cert.pem'
[ssl:debug] [pid 1286] ssl_engine_pphrase.c(239): AH02202: Init: Read server certificate from '/etc/letsencrypt/live/co2-avatar.com/cert.pem'
[socache_shmcb:debug] [pid 1286] mod_socache_shmcb.c(391): AH00821: shmcb_init allocated 512000 bytes of shared memory
[socache_shmcb:debug] [pid 1286] mod_socache_shmcb.c(407): AH00822: for 511912 bytes (512000 including header), recommending 32 subcaches, 88 indexes each
[socache_shmcb:debug] [pid 1286] mod_socache_shmcb.c(440): AH00824: shmcb_init_memory choices follow
[socache_shmcb:debug] [pid 1286] mod_socache_shmcb.c(442): AH00825: subcache_num = 32
[socache_shmcb:debug] [pid 1286] mod_socache_shmcb.c(444): AH00826: subcache_size = 15992
[socache_shmcb:debug] [pid 1286] mod_socache_shmcb.c(446): AH00827: subcache_data_offset = 2128
[socache_shmcb:debug] [pid 1286] mod_socache_shmcb.c(448): AH00828: subcache_data_size = 13864
[socache_shmcb:debug] [pid 1286] mod_socache_shmcb.c(450): AH00829: index_num = 88
[socache_shmcb:info] [pid 1286] AH00830: Shared memory socache initialised
[ssl:info] [pid 1286] AH01887: Init: Initializing (virtual) servers for SSL
[ssl:debug] [pid 1286] ssl_engine_init.c(1502): Init: SSL server IP/port overlap: h2862201.stratoserver.net:443 (/etc/httpd/conf.d/ssl.conf:57) vs. co2-avatar.com:443 (/etc/httpd/conf.d/vhost-le-ssl.conf:4)
[ssl:debug] [pid 1286] ssl_engine_init.c(1502): Init: SSL server IP/port overlap: gitlab.sustainable-data-platform.org:443 (/etc/httpd/conf.d/gitlab-le-ssl.conf:2) vs. co2-avatar.com:443 (/etc/httpd/conf.d/vhost-le-ssl.conf:4)
[ssl:debug] [pid 1286] ssl_engine_init.c(1502): Init: SSL server IP/port overlap: co2avatar.org:443 (/etc/httpd/conf.d/co2avatar.conf:66) vs. co2-avatar.com:443 (/etc/httpd/conf.d/vhost-le-ssl.conf:4)
[ssl:warn] [pid 1286] AH02292: Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[ssl:info] [pid 1286] AH01876: mod_ssl/2.4.6 compiled against Server: Apache/2.4.6, Library: OpenSSL/1.0.2k
[proxy:debug] [pid 1292] proxy_util.c(1843): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 1292] proxy_util.c(1888): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 1292] proxy_util.c(1939): AH00931: initialized single connection worker in child 1292 for (*)
[proxy:debug] [pid 1293] proxy_util.c(1843): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 1293] proxy_util.c(1888): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 1293] proxy_util.c(1939): AH00931: initialized single connection worker in child 1293 for (*)
[proxy:debug] [pid 1295] proxy_util.c(1843): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 1295] proxy_util.c(1888): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 1295] proxy_util.c(1939): AH00931: initialized single connection worker in child 1295 for (*)
[mpm_prefork:notice] [pid 1286] AH00163: Apache/2.4.6 (CentOS) mod_jk/1.2.48 OpenSSL/1.0.2k-fips PHP/7.2.29 configured -- resuming normal operations
[mpm_prefork:info] [pid 1286] AH00164: Server built: Nov 16 2020 16:18:20
[core:notice] [pid 1286] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[mpm_prefork:debug] [pid 1286] prefork.c(1005): AH00165: Accept mutex: sysvsem (default: sysvsem)
[proxy:debug] [pid 1294] proxy_util.c(1843): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 1294] proxy_util.c(1888): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 1294] proxy_util.c(1939): AH00931: initialized single connection worker in child 1294 for (*)
[proxy:debug] [pid 1296] proxy_util.c(1843): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 1296] proxy_util.c(1888): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 1296] proxy_util.c(1939): AH00931: initialized single connection worker in child 1296 for (*)
[proxy:debug] [pid 1378] proxy_util.c(1843): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 1378] proxy_util.c(1888): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 1378] proxy_util.c(1939): AH00931: initialized single connection worker in child 1378 for (*)
[proxy:debug] [pid 1408] proxy_util.c(1843): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 1408] proxy_util.c(1888): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 1408] proxy_util.c(1939): AH00931: initialized single connection worker in child 1408 for (*)
[proxy:debug] [pid 1859] proxy_util.c(1843): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 1859] proxy_util.c(1888): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 1859] proxy_util.c(1939): AH00931: initialized single connection worker in child 1859 for (*)
[proxy:debug] [pid 15109] proxy_util.c(1843): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 15109] proxy_util.c(1888): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 15109] proxy_util.c(1939): AH00931: initialized single connection worker in child 15109 for (*)
[proxy:debug] [pid 17029] proxy_util.c(1843): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 17029] proxy_util.c(1888): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 17029] proxy_util.c(1939): AH00931: initialized single connection worker in child 17029 for (*)发布于 2021-10-15 09:58:34
嗯,这很尴尬,但我在我的员工名单上使用了一个错误的名字。
ajp_worker_tomcat10_prod而不是ajp13_worker_tomcat10_prod。
有趣的是,没有出现错误消息,比如worker没有找到,或者worker没有配置。只是来自Apache的奇怪消息,而不是mod_jk.log或Apache的error.log中的任何东西。
这也可能是配置问题。
https://serverfault.com/questions/1080555
复制相似问题