如何为http和https

时间:2018-05-30 05:01:12

标签: apache https port

我几乎不了解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>

我是否需要添加更多设置?或任何其他方式来解决这个问题?

1 个答案:

答案 0 :(得分:0)

最好配置您必须使用不同端口进行SSL连接的应用程序,例如3001并通过HTTPS将请求转发到此端口或直接访问