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 <[email protected]> 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 [email protected]
> 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 [email protected]
> # 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 <[email protected]>
> 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 <[email protected]> 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
>>>
>>
>