A little older post here, but see if it helps. https://laracasts.com/discuss/channels/laravel/how-to-embed-zoom-meeting-in-laravel-8-application
And there are some github packages as well.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I have created a Zoom app that sends every meeting participants to and endpoint to our server. It works fine on the test server. On production, the post is redirected to GET request. The Nginx log is given bellow:
"POST /zoom/meeting-participants HTTP/1.1" 301 194 "-" "Zoom Marketplace/1.0a"
I also tried it with Postman and the nginx log looks like bellow:
[27/Feb/2025:16:48:06 +1100] "POST /api/zoom/meeting-participants HTTP/1.1" 301 194 "-" "PostmanRuntime/7.43.0"
[27/Feb/2025:16:48:09 +1100] "GET /api/zoom/meeting-participants HTTP/1.1" 404 10830 "https://mysite.com.au/api/zoom/participant-registration" "PostmanRuntime/7.43.0"
I tried all possible changes on the nginx configuration but it did not help. The configuration file is given bellow:
server {
listen 80;
location /healthcheck {
root /var/www/mysite/current/public;
try_files /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
return 301 https://www.mysite.com.au$request_uri;
}
location ~* .(js|css|ttf|ttc|otf|eot|woff|woff2)$ {
add_header access-control-allow-origin "*";
expires max;
}
}
server {
listen 443 ssl http2;
ssl_certificate /etc/nginx/ssl/mysite-avmh-web.crt;
ssl_certificate_key /etc/nginx/ssl/mysite-avmh-web.key;
location /healthcheck {
root /var/www/mysite/current/public;
try_files /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
return 301 https://www.mysite.com.au$request_uri;
}
location ~* .(js|css|ttf|ttc|otf|eot|woff|woff2)$ {
add_header access-control-allow-origin "*";
expires max;
}
}
server {
listen 443 ssl http2;
root /var/www/mysite/current/public;
deny 188.225.78.101;
allow all;
server_name www.mysite.com.au;
ssl_certificate /etc/nginx/ssl/mysite-avmh-web.crt;
ssl_certificate_key /etc/nginx/ssl/mysite-avmh-web.key;
client_max_body_size 200M;
add_header Strict-Transport-Security "max-age=63072000;";
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_intercept_errors off;
index index.php index.html;
gzip on;
gzip_min_length 100;
gzip_buffers 8 32k;
gzip_types text/plain text/css application/javascript application/x-javascript text/xml application/xml text/javascript application/json;
gzip_vary on;
location ~* \.(?:pdf|jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|css|js|woff|woff2|ttf|eot|yaml)$ {
try_files $uri /index.php?$args;
expires 1M;
access_log off;
add_header Cache-Control "public";
add_header Access-Control-Allow-Origin * always;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location @long {
try_files $uri /index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 600;
fastcgi_param PHP_VALUE "max_execution_time=600";
}
location ~ \.php$ {
try_files $uri /index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* .(js|css|ttf|ttc|otf|eot|woff|woff2)$ {
add_header access-control-allow-origin "*";
expires max;
}
}
server {
listen 443 ssl http2;
root /var/www/mysite/current/public;
server_name preprod.mysite.com.au;
ssl_certificate /etc/nginx/ssl/mysite-avmh-web.crt;
ssl_certificate_key /etc/nginx/ssl/mysite-avmh-web.key;
client_max_body_size 200M;
add_header Strict-Transport-Security "max-age=63072000;";
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_intercept_errors off;
index index.php index.html;
location ~* \.(?:pdf|jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|css|js|woff|woff2|ttf|eot)$ {
try_files $uri /index.php?$args;
expires 1M;
access_log off;
add_header Cache-Control "public";
add_header Access-Control-Allow-Origin * always;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri /index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* .(js|css|ttf|ttc|otf|eot|woff|woff2)$ {
add_header access-control-allow-origin "*";
expires max;
}
}
server {
listen 443 ssl;
server_name site1.com www.site1.com;
location / {
return 301 https://www.mysite.com.au$request_uri;
}
}
server {
listen 443 ssl;
server_name site2.com www.site2.com;
location / {
return 301 https://www.mysite.com.au$request_uri;
}
}
I am not sure if the Laravel app causes this issue as it works fine on our test server. Can someone help me with this?
Many Thanks
Please or to participate in this conversation.