我几乎不了解http和这个主题,因此无法找到足以解决我问题的答案。如果这个问题重复,请告诉我,你已经找到了答案。
通常它与http://domain:3000合作,但我希望https://domain:3000可以访问它。
我在我的apache设置文件上安装了let加密并添加了反向代理设置。因此可以使用https://domain:3000之类的路径访问https://domain/api,但正如我上面提到的,我也希望直接在https上使用端口号。
我的httpd.conf上的其他行是NameVirtualHost *:80
<VirtualHost *:80>
ServerName my.domain
ServerAlias www.my.domain *.my.domain
DocumentRoot /var/www/html
RewriteEngine on
RewriteCond %{SERVER_NAME} =my.domain [OR]
RewriteCond %{SERVER_NAME} =www.my.domain [OR]
RewriteCond %{SERVER_NAME} =*.my.domain
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
Listen 443
</IfModule>
Include /etc/httpd/conf/httpd-le-ssl.conf
<IfModule mod_proxy.c>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /api http://my.domain:3000
ProxyPassReverse /api http://my.domain:3000
</IfModule>
我是否需要添加更多设置?或任何其他方式来解决这个问题?
答案 0 :(得分:0)
最好配置您必须使用不同端口进行SSL连接的应用程序,例如3001并通过HTTPS将请求转发到此端口或直接访问