Tôi có máy chủ Apache với một vài trang web.
Tôi muốn chạy trên bộ chứa docker máy chủ này với Mercure và chia sẻ nó trên Internet.
Tôi đã tìm thấy thông tin trên Internet rằng tôi cần sử dụng ProxyPass và ProxyPassReverse trong cấu hình vhost.
Cấu hình vhost của tôi:
<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>
Bộ chứa Docker được khởi chạy bằng lệnh:
docker chạy \
-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 GỠ LỖI=1 \
-e ALLOW_ANONYMOUS=1 \
chạy dunglas/mercure caddy -config /etc/caddy/Caddyfile.dev
Vấn đề:
Khi bạn cố gắng vào trang web tomaszf.pl/mercure, địa chỉ trong trình duyệt sẽ tự động được thay đổi thành 127.0.0.1 và trang web không hoạt động.
Tôi phải thay đổi gì trong cấu hình?