This is my httpd.conf.

<VirtualHost *:80>

        ServerAdmin webmaster@localhost

        ServerName luck.cloudcache.net



        PerlPostConfigRequire /etc/apache2/modperl/startup.pl


        <Location />

            SetHandler modperl

            PerlResponseHandler LuckyNum

        </Location>



        ErrorLog ${APACHE_LOG_DIR}/error.log

        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/luck.access.log combined


</VirtualHost>



How do you think I can set up the SSL?


I asked it just b/c "certbot --apache" doesn't work for this handler.


Thanks.

On Sun, Jul 3, 2022 at 6:24 PM Jacques Deguest <j...@deguest.jp> wrote:

> You do not even need to have a virtualhost with ssl enabled for certbot to
> work.
> You can have a simple VirtualHost responding to regular 80 port, then get
> the ssl certificate, then add the VirtualHost for SSL and all your modperl
> specifications to it. Something like the following, and once you got the
> certificate, you uncomment the 2nd part.
>
> ----
> <Virtualhost *:80>
>     ServerName api.example.org:80
>     ServerAdmin w...@example.org
>     DocumentRoot /var/www/api.example.org
>     DirectoryIndex "index.html" "index.pl" "index.php"
>     CustomLog "/var/log/apache2/api.example.org-access.log" combined
>     ErrorLog "/var/log/apache2/api.example.org-error.log"
>     LogLevel warn
>     <Directory "/var/www/api.example.org">
>         Options All +MultiViews -ExecCGI -Indexes -Includes
>         AllowOverride All
>     </Directory>
>     ScriptAlias     "/cgi-bin/"     "/var/www/api.example.org/cgi-bin/"
>     <IfModule mod_alias.c>
>         Alias "/icons/" "/var/www/icons/"
>     </IfModule>
>     <IfModule mod_ssl.c>
>         RewriteEngine on
>         RewriteRule ^\/?(.*)$ https://%{SERVER_NAME}/$1 [R,L]
>     </IfModule>
> </VirtualHost>
>
> # <IfModule mod_ssl.c>
> #     <VirtualHost *:443>
> #         ServerName api.example.org:443
> #         ServerAdmin w...@example.org
> #         DocumentRoot /var/www/api.example.org
> #         DirectoryIndex "index.html" "index.php"
> #         CustomLog "/var/log/apache2/api.example.org-access.log" combined
> #         ErrorLog "/var/log/apache2/api.example.org-error.log"
> #         LogLevel warn
> #         <Directory "/var/www/api.example.org">
> #         RewriteEngine Off
> #             Options All +MultiViews -ExecCGI -Indexes -Includes
> #             AllowOverride All
> #         </Directory>
> #         ScriptAlias "/cgi-bin/"     "/var/www/api.example.org/cgi-bin/"
> #         <Directory "/var/www/api.example.org/cgi-bin/">
> #             RewriteEngine Off
> #             Options All +Includes +ExecCGI -Indexes +MultiViews
> #             AllowOverride All
> #             SetHandler cgi-script
> #             AcceptPathInfo On
> #             Require all granted
> #         </Directory>
> #         <IfModule mod_perl.c>
> #             PerlOptions        +GlobalRequest
> #             PerlPassEnv        MOD_PERL
> #             PerlPassEnv        HOME
> #             PerlPassEnv        SERVER_NAME
> #             PerlPassEnv        HTTP_HOST
> #             PerlPassEnv        REMOTE_ADDR
> #             PerlPassEnv        REMOTE_HOST
> #             PerlPassEnv        PATH_INFO
> #             PerlPassEnv        LC_MESSAGES
> #             PerlPassEnv        LANGUAGE
> #             PerlModule        Apache2::Request
> #             PerlModule        Apache2::Status
> #             PerlModule        Apache::DBI
> #             <Location />
> #                 SetHandler        modperl
> #                 PerlHandler        Apache::Registry
> #                 PerlSendHeader      On
> #                 PerlSetupEnv        On
> #                 PerlOptions        +GlobalRequest
> #                 Options            +Includes +ExecCGI
> #                 Order allow,deny
> #                 Allow from all
> #             </Location>
> #         </IfModule>
> #
> #         SSLCertificateFile /etc/ssl/private/api.example.org/cert.pem
> #         SSLCertificateKeyFile /etc/ssl/private/
> api.example.org/privkey.pem
> #         Include /etc/ssl/options-ssl-apache.conf
> #
> #         <IfModule mod_alias.c>
> #             Alias "/icons/" "/var/www/icons/"
> #         </IfModule>
> #     </Virtualhost>
> # </IfModule>
> ----
>
>
> On 2022/07/03 19:00, Yong Walt wrote:
>
> but that vhost has a modperl handler as the endpoint only.
>
> On Sun, Jul 3, 2022 at 12:19 PM Mithun Bhattacharya <mit...@gmail.com>
> wrote:
>
>> You don't enable SSL for a endpoint you do it for a host/port
>> combination. All endpoints under that virtual host is SSL enabled.
>>
>> On Sat, Jul 2, 2022, 9:01 PM Yong Walt <yongw...@gmail.com> wrote:
>>
>>> Hello
>>>
>>> When I run certbot --apache for modperl handler service, it doesn't work.
>>> So how can I setup letsencrypt SSL for a pure handler web API?
>>>
>>> Thanks
>>>
>>
>

Reply via email to