[英]Configure Apache with multiple ProxyPass and different ports
所以我有一個配置文件說明
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName www.aaaaaaaa.yyyyyyyyy.co.uk
ServerAlias aaaaaaa.yyyyyyy.co.uk
ProxyPass / http://localhost:5000/
ProxyPassReverse / http://localhost:5000/
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.aaaaaaa.yyyyyyyyy.co.uk [OR]
RewriteCond %{SERVER_NAME} =aaaaaa.yyyyyyyyy.co.uk
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName www.xxxxxx.yyyyyyyy.co.uk
ServerAlias xxxxxxx.yyyyyyyyy.co.uk
ProxyPass / http://localhost:8989/
ProxyPassReverse / http://localhost:8989/
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.xxxxxxxxxxx.yyyyyyyy.co.uk [OR]
RewriteCond %{SERVER_NAME} =xxxxxx.yyyyyyyyyy.co.uk
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
當訪問aaaaaaa.yyyyyyyyy.co.uk時,它會重定向到https,這是想要的效果,並啟動正確的應用程序。
但是,當我訪問xxxxx.yyyyyyy.co.uk時,它顯示正確的應用程序,但沒有重定向到https,當我實際鍵入https://xxxx.yyyyyy.co.uk時,它會將我重定向到與aaaaaaa.yyyyyyyyyy相同的應用程序。 co.uk。
我該如何做這項工作!
此處的主要問題是certbot無法在1個文件中與多個主機配合使用。
在哪里糾正問題的步驟;
1刪除所有證書
2在可用站點內的自己文件中重新創建所有虛擬主機(減去重寫部分)
一個conf文件的示例內容
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName www.aaaaaaaa.yyyyyyyyy.co.uk
ServerAlias aaaaaaa.yyyyyyy.co.uk
ProxyPass / http://localhost:5000/
ProxyPassReverse / http://localhost:5000/
</VirtualHost>
3對所有虛擬主機(站點)執行此操作后,運行命令
certbot --apache
並為所有人創建新證書,確保最后選擇重定向功能。
很棒!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.