结合r-handler和tls

结合r-handler和tls,r,ssl,apache2.4,opencpu,R,Ssl,Apache2.4,Opencpu,是否可以通过TLS直接提供Apache R-mod?不需要设置反向代理 我正在尝试设置一个没有典型反向代理配置的OpenCPU实例。它应该只能通过HTTPS和HTTPS访问 每当我尝试启用TLS/SSL引擎时,Apache都会忽略这一点,并且在端口443上,由于HTTP是通过端口443传递的,所以我会得到一个头不匹配 <IfModule mod_ssl.c> SSLStaplingCache "shmcb:${APACHE_LOG_DIR}/stapling-cache(150000

是否可以通过TLS直接提供Apache R-mod?不需要设置反向代理

我正在尝试设置一个没有典型反向代理配置的OpenCPU实例。它应该只能通过HTTPS和HTTPS访问

每当我尝试启用TLS/SSL引擎时,Apache都会忽略这一点,并且在端口443上,由于HTTP是通过端口443传递的,所以我会得到一个头不匹配

<IfModule mod_ssl.c>
SSLStaplingCache "shmcb:${APACHE_LOG_DIR}/stapling-cache(150000)"
<IfModule mod_R.c>

    RSourceOnStartup "/usr/lib/opencpu/rapache/onstartup.R"

    <Location /ocpu>
        SSLEngine on
        SSLUseStapling on
        SSLCertificateFile  /etc/ssl/xxx.pem
        SSLCertificateKeyFile /etc/ssl/private/xxx.key
        SSLCertificateChainFile /etc/ssl/certs/chain.pem

        SetHandler r-handler
        RHandler opencpu:::rapachehandler
        SetOutputFilter DEFLATE
        SetInputFilter DEFLATE
    </Location>

    Alias /favicon.ico /usr/lib/opencpu/rapache/favicon.ico
    Alias /robots.txt /usr/lib/opencpu/rapache/robots.txt

    # Increase prefork defaults
    <IfVersion >= 2.4>
        #StartServers 10
        MaxConnectionsPerChild 200
        <Directory /usr/lib/opencpu/rapache>
            Require all granted
        </Directory>
    </IfVersion>

</IfModule>

SSLStaplingCache“shmcb:${APACHE_LOG_DIR}/装订缓存(150000)”
RSourceOnStartup“/usr/lib/opencpu/rapache/onstartup.R”
斯伦金安
SSLUS建立在
SSLCertificateFile/etc/ssl/xxx.pem
SSLCertificateKeyFile/etc/ssl/private/xxx.key
SSLCertificateChainFile/etc/ssl/certs/chain.pem
SetHandler r-handler
RHandler opencpu:::rapachehandler
SetOutputFilter放气
设置输入过滤器放气
别名/favicon.ico/usr/lib/opencpu/rapache/favicon.ico
别名/robots.txt/usr/lib/opencpu/rapache/robots.txt
#增加预工作默认值
= 2.4>
#StartServers 10
MaxConnectionsPercild 200
要求所有授权

似乎位置/ocpu对两种虚拟主机都有效,一种是HTTP,另一种是HTTPS

因此,将HTTP重定向到000-default.conf中的HTTPS并在default-ssl.conf中正确设置TLS就足够了

<VirtualHost *:80>
    ServerName xxx
    ServerAdmin xxx

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Redirect / https://xxx/

</VirtualHost>

服务器名xxx
服务器管理员xxx
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
重定向/https://xxx/

#cat default-ssl.conf
SSLStaplingCache“shmcb:${APACHE_LOG_DIR}/装订缓存(150000)”
日志级调试
服务器名xxx
服务器管理员xxx
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
斯伦金安
SSLUS建立在
SSLCertificateFile/etc/ssl/certs/xxx.pem
SSLCertificateKeyFile/etc/ssl/private/xxx.key
SSLCertificateChainFile/etc/ssl/certs/xxx.pem
DocumentRoot/var/www/html

无需更改opencpu.conf中的任何内容。

似乎位置/ocpu对两个虚拟主机都有效,一个用于HTTP和HTTPS

因此,将HTTP重定向到000-default.conf中的HTTPS并在default-ssl.conf中正确设置TLS就足够了

<VirtualHost *:80>
    ServerName xxx
    ServerAdmin xxx

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Redirect / https://xxx/

</VirtualHost>

服务器名xxx
服务器管理员xxx
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
重定向/https://xxx/

#cat default-ssl.conf
SSLStaplingCache“shmcb:${APACHE_LOG_DIR}/装订缓存(150000)”
日志级调试
服务器名xxx
服务器管理员xxx
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
斯伦金安
SSLUS建立在
SSLCertificateFile/etc/ssl/certs/xxx.pem
SSLCertificateKeyFile/etc/ssl/private/xxx.key
SSLCertificateChainFile/etc/ssl/certs/xxx.pem
DocumentRoot/var/www/html

无需更改opencpu.conf中的任何内容。

我认为这是默认设置?你是说哪个反向代理?我想显式阻止HTTP。但我现在通过重定向解决了这个问题。请参阅下面的答案。我想这是默认设置吗?你是说哪个反向代理?我想显式阻止HTTP。但我现在通过重定向解决了这个问题。见下面的答案。