ฉันมีเซิร์ฟเวอร์ Apache ที่มีไซต์ไม่กี่แห่ง
ฉันต้องการรันบนคอนเทนเนอร์นักเทียบท่าเซิร์ฟเวอร์นี้กับ Mercure และแชร์บนอินเทอร์เน็ต
ฉันพบข้อมูลบนอินเทอร์เน็ตว่าฉันต้องใช้ ProxyPass และ ProxyPassReverse ในการกำหนดค่า vhost
การกำหนดค่า vhost ของฉัน:
<VirtualHost *:80>
ServerName tomaszf.pl
ServerAlias www.tomaszf.pl
DocumentRoot /var/www/html/mercurytest/public
DirectoryIndex /index.php
<Directory /var/www/html/mercurytest/public>
AllowOverride None
Order Allow,Deny
Allow from All
FallbackResource /index.php
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php8.0-fpm.sock|fcgi://localhost"
</FilesMatch>
<Directory /var/www/html/mercurytest/public/bundles>
DirectoryIndex disabled
FallbackResource disabled
</Directory>
ErrorLog ${APACHE_LOG_DIR}/tomaszf.pl.error.log
CustomLog ${APACHE_LOG_DIR}/tomaszf.pl.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.tomaszf.pl [OR]
RewriteCond %{SERVER_NAME} =tomaszf.pl
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName tomaszf.pl
ServerAlias www.tomaszf.pl
DocumentRoot /var/www/html/mercurytest/public
DirectoryIndex /index.php
<Directory /var/www/html/mercurytest/public>
AllowOverride None
Order Allow,Deny
Allow from All
FallbackResource /index.php
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php8.0-fpm.sock|fcgi://localhost"
</FilesMatch>
<Directory /var/www/html/mercurytest/public/bundles>
DirectoryIndex disabled
FallbackResource disabled
</Directory>
ErrorLog ${APACHE_LOG_DIR}/tomaszf.pl.error.log
CustomLog ${APACHE_LOG_DIR}/tomaszf.pl.log combined
SSLCertificateFile /etc/letsencrypt/live/tomaszf.pl/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/tomaszf.pl/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
ProxyPass /mercure http://127.0.0.1:8099/
ProxyPassReverse /mercure http://127.0.0.1:8099/
</VirtualHost>
เปิดตัวคอนเทนเนอร์นักเทียบท่าด้วยคำสั่ง:
นักเทียบท่ารัน \
-e SERVER_NAME=':80' \
-e MERCURE_PUBLISHER_JWT_KEY='!ChangeMe!' \
-e MERCURE_SUBSCRIBER_JWT_KEY='!ChangeMe!' \
-p 8099:80 \
-e CORS_ALLOWED_ORIGINS='https://tomaszf.pl' \
-e DEBUG=1 \
-e ALLOW_ANONYMOUS=1 \
เรียกใช้แคดดี้ dunglas/mercure -config /etc/caddy/Caddyfile.dev
ปัญหา:
เมื่อคุณพยายามเข้าสู่เว็บไซต์ tomaszf.pl/mercure ที่อยู่ในเบราว์เซอร์จะเปลี่ยนเป็น 127.0.0.1 โดยอัตโนมัติ และเว็บไซต์ไม่ทำงาน
ฉันต้องเปลี่ยนอะไรในการกำหนดค่า