我有以下用于反向代理的Apache配置文件:
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
<VirtualHost *:443>
ProxyPreserveHost On
ProxyPass / http://localhost:5000/
ProxyPassReverse / http://localhost:5000/
ErrorLog /var/log/apache2/NewPC-error.log
CustomLog /var/log/apache2/NewPC-access.log common
SSLEngine on
SSLProtocol all -SSLv2
SSLCertificateFile /etc/ssl/private/localhost.crt
SSLCertificateKeyFile /etc/ssl/private/localhost.key
</VirtualHost>
反向代理工作正常,但我在URL中总是有端口号(5000(。
有什么办法把它取下来吗?
配置看起来不错,除非是在proxyPass后面运行的应用程序正在向客户端发送重定向/位置(包括端口(,否则不应该发生您所描述的情况。您可以使用curl(-v选项(或您喜欢的工具模拟对端口5000上运行的应用程序的请求进行测试。