Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在同一apache服务器内的非标准端口上的rails应用程序的https?_Ruby On Rails_Apache_Https_Centos - Fatal编程技术网

Ruby on rails 在同一apache服务器内的非标准端口上的rails应用程序的https?

Ruby on rails 在同一apache服务器内的非标准端口上的rails应用程序的https?,ruby-on-rails,apache,https,centos,Ruby On Rails,Apache,Https,Centos,我有一个现有的apache服务器,它使用https处理https://www.example.com 如何配置rails(和apache)来处理来自另一个端口的https请求,例如https://www.example.com:6000/api/v1/datafeed/?您可以使用带有平衡器模块的Apache代理。下面是我如何在Apache 2.4后面用NamedVirtualHost配置rails的: 在httpd.conf中启用以下模块: LoadModule lbmethod_byrequ

我有一个现有的apache服务器,它使用
https
处理
https://www.example.com


如何配置rails(和apache)来处理来自另一个端口的
https
请求,例如
https://www.example.com:6000/api/v1/datafeed/

您可以使用带有平衡器模块的Apache代理。下面是我如何在Apache 2.4后面用NamedVirtualHost配置rails的:

httpd.conf
中启用以下模块:

LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so​
LoadModule proxy_http_module modules/mod_proxy_http.so​
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so​
对于您的VirtualHost配置,您可以执行以下操作

Listen 127.0.0.1:6000 https

<VirtualHost *:6000>
ServerAdmin webmaster@example.com
ServerName www.example.com

DocumentRoot "rails_root/public"
<Directory "rails_root/public"
    Require all granted
    Options -MultiViews
</Directory>

 ProxyPass / balancer://myapp_cluster/
 ProxyPassReverse / balancer://myapp_cluster/
 ProxyPreserveHost On
 ProxyVia On

 <Proxy balancer://myapp_cluster>
     # Note the port here, this should be the port where your rails app is running.
     BalancerMember http://localhost:3000
 </Proxy>

 SSLEngine on
 SSLProtocol all -SSLv2
 SSLCipherSuite ALL:!ADH!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
 SSLCertificateFile "/etc/httpd/conf/ssl/certificate_file.crt"
 SSLCertificateKeyFile "/etc/httpd/conf/ssl/certificate_key.key"

 ErrorLog "/var/log/httpd/error.log" 
 CustomLog "/var/log/httpd/access.log" combined
 </VirtualHost>
收听127.0.0.1:6000 https
服务器管理员webmaster@example.com
服务器名www.example.com
DocumentRoot“rails\u root/public”