Ubuntu Certbot SSL not working 18.04Cannot get SSL working with ApacheSSL site not using the correct IP in...

Can "semicircle" be used to refer to a part-circle that is not a exact half-circle?

Life insurance that covers only simultaneous/dual deaths

What Happens when Passenger Refuses to Fly Boeing 737 Max?

Plywood subfloor won't screw down in a trailer home

Single word request: Harming the benefactor

Is a lawful good "antagonist" effective?

What happens with multiple copies of Humility and Glorious Anthem on the battlefield?

Want to switch to tankless, but can I use my existing wiring?

Unreachable code, but reachable with exception

What does it mean when multiple 々 marks follow a 、?

Running a subshell from the middle of the current command

My story is written in English, but is set in my home country. What language should I use for the dialogue?

Word for a person who has no opinion about whether god exists

Best mythical creature to use as livestock?

How is the Swiss post e-voting system supposed to work, and how was it wrong?

Confusion with the nameplate of an induction motor

Good allowance savings plan?

Does anyone draw a parallel between Haman selling himself to Mordechai and Esav selling the birthright to Yaakov?

Playing ONE triplet (not three)

Am I not good enough for you?

Is all copper pipe pretty much the same?

What is the difference between "shut" and "close"?

Can you reject a postdoc offer after the PI has paid a large sum for flights/accommodation for your visit?

Why must traveling waves have the same amplitude to form a standing wave?



Ubuntu Certbot SSL not working 18.04


Cannot get SSL working with ApacheSSL site not using the correct IP in Apache and UbuntuWildcard SSL on Debian 7, Apache2 not working. (Rackspace Cloud Server)IA (Intermediate Authority) SSL Certificate on AppEngineSet server wide ssl configurationServerAlias without www not working on SSL virtualhostUbuntu Apache-Cant get SSL (https) working (timeout not responding )certbot-auto can't extend license to new domain (403 Forbidden)SSL Certificate Issuing with No-IP DDNS & apache2 server & Let'sEncrypt Certbot: Conflicting info & Not workingWrong(first/default) SSL certificate served Apache 2.4 - Ubuntu 18.04 muliple domain web serverLet's Encrypt wildcard certificates and Apache 2 not working













0















I am trying to integrate SSL with my Laravel site http://enablerochester.com. I tried following the tutorial for setting up certbot on Ubuntu 18.04 here: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04 however after following each step https still doesn't work.



Within my /etc/apache2/sites-enabled I have two files. 000-default.conf & default-ssl.conf.



Here is what my 000-default.conf looks like:



<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName enablerochester.com

#RewriteEngine On
#RewriteCond %{HTTPS} !on
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

ServerAdmin antoinesolomon5@gmail.com
DocumentRoot /var/www/html/production/public
#DirectoryIndex index.php
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

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

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
#RewriteEngine on
#RewriteCond %{SERVER_NAME} =testing.enablerochester.com
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet


That is my basic http protocol which works perfectly. However when working with the default-ssl.conf I can't seem to figure out the issue:



<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin antoinesolomon5@gmail.com

ServerName enablerochester.com
DocumentRoot /var/www/html/production/public

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

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

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf

# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on

# A self-signed (snakeoil) certificate can be created by installing
# the ssl-cert package. See
# /usr/share/doc/apache2/README.Debian.gz for more info.
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.

# Server Certificate Chain:
# Point SSLCertificateChainFile at a file containing the
# concatenation of PEM encoded CA certificates which form the
# certificate chain for the server certificate. Alternatively
# the referenced file can be the same as SSLCertificateFile
# when the CA certificates are directly appended to the server
# certificate for convinience.
#SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

# Certificate Authority (CA):
# Set the CA certificate verification path where to find CA
# certificates for client authentication or alternatively one
# huge file containing all of them (file must be PEM encoded)
# Note: Inside SSLCACertificatePath you need hash symlinks
# to point to the certificate files. Use the provided
# Makefile to update the hash symlinks after changes.
#SSLCACertificatePath /etc/ssl/certs/
#SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt

# Certificate Revocation Lists (CRL):
# Set the CA revocation path where to find CA CRLs for client
# authentication or alternatively one huge file containing all
# of them (file must be PEM encoded)
# Note: Inside SSLCARevocationPath you need hash symlinks
# to point to the certificate files. Use the provided
# Makefile to update the hash symlinks after changes.
#SSLCARevocationPath /etc/apache2/ssl.crl/
#SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl

# Client Authentication (Type):
# Client certificate verification type and depth. Types are
# none, optional, require and optional_no_ca. Depth is a
# number which specifies how deeply to verify the certificate
# issuer chain before deciding the certificate is not valid.
#SSLVerifyClient require
#SSLVerifyDepth 10

# SSL Engine Options:
# Set various options for the SSL engine.
# o FakeBasicAuth:
# Translate the client X.509 into a Basic Authorisation. This means that
# the standard Auth/DBMAuth methods can be used for access control. The
# user name is the `one line' version of the client's X.509 certificate.
# Note that no password is obtained from the user. Every entry in the user
# file needs this password: `xxj31ZMTZzkVA'.
# o ExportCertData:
# This exports two additional environment variables: SSL_CLIENT_CERT and
# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
# server (always existing) and the client (only existing when client
# authentication is used). This can be used to import the certificates
# into CGI scripts.
# o StdEnvVars:
# This exports the standard SSL/TLS related `SSL_*' environment variables.
# Per default this exportation is switched off for performance reasons,
# because the extraction step is an expensive operation and is usually
# useless for serving static content. So one usually enables the
# exportation for CGI and SSI requests only.
# o OptRenegotiate:
# This enables optimized SSL connection renegotiation handling when SSL
# directives are used in per-directory context.
#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<FilesMatch ".(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>

# SSL Protocol Adjustments:
# The safe and default but still SSL/TLS standard compliant shutdown
# approach is that mod_ssl sends the close notify alert but doesn't wait for
# the close notify alert from client. When you need a different shutdown
# approach you can use one of the following variables:
# o ssl-unclean-shutdown:
# This forces an unclean shutdown when the connection is closed, i.e. no
# SSL close notify alert is send or allowed to received. This violates
# the SSL/TLS standard but is needed for some brain-dead browsers. Use
# this when you receive I/O errors because of the standard approach where
# mod_ssl sends the close notify alert.
# o ssl-accurate-shutdown:
# This forces an accurate shutdown when the connection is closed, i.e. a
# SSL close notify alert is send and mod_ssl waits for the close notify
# alert of the client. This is 100% SSL/TLS standard compliant, but in
# practice often causes hanging connections with brain-dead browsers. Use
# this only for browsers where you know that their SSL implementation
# works correctly.
# Notice: Most problems of broken clients are also related to the HTTP
# keep-alive facility, so you usually additionally want to disable
# keep-alive for those clients, too. Use variable "nokeepalive" for this.
# Similarly, one has to force some clients to use HTTP/1.0 to workaround
# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
# "force-response-1.0" for this.
# BrowserMatch "MSIE [2-6]"
# nokeepalive ssl-unclean-shutdown
# downgrade-1.0 force-response-1.0
SSLCertificateFile /etc/letsencrypt/live/enablerochester.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/enablerochester.com/privkey.pem
</VirtualHost>
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet


When running apachectl -S this is what I get



VirtualHost configuration:
*:80 www.enablerochester.com (/etc/apache2/sites-enabled/000-default.conf:1)
*:443 enablerochester.com (/etc/apache2/sites-enabled/default-ssl.conf:2)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used


As you can see the document root is the same in the ssl as it is in the standard port. Here are somethings/links I have tried to mitigate the issue:
- Completely uninstall and reinstall certbot




  • Reference my past ubuntu servers with SSL running on it


  • Certbot Renew


  • Adding .well-known


  • Running a2ensite & a2dissite in conjuction with systemctl reload apache2/service apache2 restart


  • Creating new SSL certs to the point I've request too many


  • Added Listen 443 in case there was a firewall in the ports.conf


  • https://community.letsencrypt.org/t/dns-a-aaaa-record-s-problem/42413


  • https://medium.com/@jevgenijdmitrijev/howto-configuring-server-for-hosting-single-laravel-web-ssl-with-lets-encrypt-f670710ef827


  • https://community.letsencrypt.org/t/permission-denied-to-etc-letsencrypt-live/72892


  • https://community.letsencrypt.org/t/solved-urn-acme-error-unauthorized-the-client-lacks-sufficient-authorization/53238


  • https://linuxhostsupport.com/blog/how-to-install-lets-encrypt-with-apache-on-ubuntu-16-04/


  • https://community.letsencrypt.org/t/this-site-can-t-be-reached/50751/6


  • Cannot get SSL working with Apache



This literally makes no sense to me as I haven't had any trouble installing and configuring ssl certs on other ubuntu servers. I've been banging my head for hours trying to solve this so any guidance in the right direction will be greatly appreciated.









share







New contributor




Solomon Antoine is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    0















    I am trying to integrate SSL with my Laravel site http://enablerochester.com. I tried following the tutorial for setting up certbot on Ubuntu 18.04 here: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04 however after following each step https still doesn't work.



    Within my /etc/apache2/sites-enabled I have two files. 000-default.conf & default-ssl.conf.



    Here is what my 000-default.conf looks like:



    <VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    ServerName enablerochester.com

    #RewriteEngine On
    #RewriteCond %{HTTPS} !on
    #RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

    ServerAdmin antoinesolomon5@gmail.com
    DocumentRoot /var/www/html/production/public
    #DirectoryIndex index.php
    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

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

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
    #RewriteEngine on
    #RewriteCond %{SERVER_NAME} =testing.enablerochester.com
    #RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
    </VirtualHost>

    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet


    That is my basic http protocol which works perfectly. However when working with the default-ssl.conf I can't seem to figure out the issue:



    <IfModule mod_ssl.c>
    <VirtualHost _default_:443>
    ServerAdmin antoinesolomon5@gmail.com

    ServerName enablerochester.com
    DocumentRoot /var/www/html/production/public

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

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

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf

    # SSL Engine Switch:
    # Enable/Disable SSL for this virtual host.
    SSLEngine on

    # A self-signed (snakeoil) certificate can be created by installing
    # the ssl-cert package. See
    # /usr/share/doc/apache2/README.Debian.gz for more info.
    # If both key and certificate are stored in the same file, only the
    # SSLCertificateFile directive is needed.

    # Server Certificate Chain:
    # Point SSLCertificateChainFile at a file containing the
    # concatenation of PEM encoded CA certificates which form the
    # certificate chain for the server certificate. Alternatively
    # the referenced file can be the same as SSLCertificateFile
    # when the CA certificates are directly appended to the server
    # certificate for convinience.
    #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

    # Certificate Authority (CA):
    # Set the CA certificate verification path where to find CA
    # certificates for client authentication or alternatively one
    # huge file containing all of them (file must be PEM encoded)
    # Note: Inside SSLCACertificatePath you need hash symlinks
    # to point to the certificate files. Use the provided
    # Makefile to update the hash symlinks after changes.
    #SSLCACertificatePath /etc/ssl/certs/
    #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt

    # Certificate Revocation Lists (CRL):
    # Set the CA revocation path where to find CA CRLs for client
    # authentication or alternatively one huge file containing all
    # of them (file must be PEM encoded)
    # Note: Inside SSLCARevocationPath you need hash symlinks
    # to point to the certificate files. Use the provided
    # Makefile to update the hash symlinks after changes.
    #SSLCARevocationPath /etc/apache2/ssl.crl/
    #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl

    # Client Authentication (Type):
    # Client certificate verification type and depth. Types are
    # none, optional, require and optional_no_ca. Depth is a
    # number which specifies how deeply to verify the certificate
    # issuer chain before deciding the certificate is not valid.
    #SSLVerifyClient require
    #SSLVerifyDepth 10

    # SSL Engine Options:
    # Set various options for the SSL engine.
    # o FakeBasicAuth:
    # Translate the client X.509 into a Basic Authorisation. This means that
    # the standard Auth/DBMAuth methods can be used for access control. The
    # user name is the `one line' version of the client's X.509 certificate.
    # Note that no password is obtained from the user. Every entry in the user
    # file needs this password: `xxj31ZMTZzkVA'.
    # o ExportCertData:
    # This exports two additional environment variables: SSL_CLIENT_CERT and
    # SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
    # server (always existing) and the client (only existing when client
    # authentication is used). This can be used to import the certificates
    # into CGI scripts.
    # o StdEnvVars:
    # This exports the standard SSL/TLS related `SSL_*' environment variables.
    # Per default this exportation is switched off for performance reasons,
    # because the extraction step is an expensive operation and is usually
    # useless for serving static content. So one usually enables the
    # exportation for CGI and SSI requests only.
    # o OptRenegotiate:
    # This enables optimized SSL connection renegotiation handling when SSL
    # directives are used in per-directory context.
    #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
    <FilesMatch ".(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
    </Directory>

    # SSL Protocol Adjustments:
    # The safe and default but still SSL/TLS standard compliant shutdown
    # approach is that mod_ssl sends the close notify alert but doesn't wait for
    # the close notify alert from client. When you need a different shutdown
    # approach you can use one of the following variables:
    # o ssl-unclean-shutdown:
    # This forces an unclean shutdown when the connection is closed, i.e. no
    # SSL close notify alert is send or allowed to received. This violates
    # the SSL/TLS standard but is needed for some brain-dead browsers. Use
    # this when you receive I/O errors because of the standard approach where
    # mod_ssl sends the close notify alert.
    # o ssl-accurate-shutdown:
    # This forces an accurate shutdown when the connection is closed, i.e. a
    # SSL close notify alert is send and mod_ssl waits for the close notify
    # alert of the client. This is 100% SSL/TLS standard compliant, but in
    # practice often causes hanging connections with brain-dead browsers. Use
    # this only for browsers where you know that their SSL implementation
    # works correctly.
    # Notice: Most problems of broken clients are also related to the HTTP
    # keep-alive facility, so you usually additionally want to disable
    # keep-alive for those clients, too. Use variable "nokeepalive" for this.
    # Similarly, one has to force some clients to use HTTP/1.0 to workaround
    # their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
    # "force-response-1.0" for this.
    # BrowserMatch "MSIE [2-6]"
    # nokeepalive ssl-unclean-shutdown
    # downgrade-1.0 force-response-1.0
    SSLCertificateFile /etc/letsencrypt/live/enablerochester.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/enablerochester.com/privkey.pem
    </VirtualHost>
    </IfModule>

    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet


    When running apachectl -S this is what I get



    VirtualHost configuration:
    *:80 www.enablerochester.com (/etc/apache2/sites-enabled/000-default.conf:1)
    *:443 enablerochester.com (/etc/apache2/sites-enabled/default-ssl.conf:2)
    ServerRoot: "/etc/apache2"
    Main DocumentRoot: "/var/www/html"
    Main ErrorLog: "/var/log/apache2/error.log"
    Mutex mpm-accept: using_defaults
    Mutex watchdog-callback: using_defaults
    Mutex rewrite-map: using_defaults
    Mutex ssl-stapling-refresh: using_defaults
    Mutex ssl-stapling: using_defaults
    Mutex ssl-cache: using_defaults
    Mutex default: dir="/var/run/apache2/" mechanism=default
    PidFile: "/var/run/apache2/apache2.pid"
    Define: DUMP_VHOSTS
    Define: DUMP_RUN_CFG
    User: name="www-data" id=33 not_used
    Group: name="www-data" id=33 not_used


    As you can see the document root is the same in the ssl as it is in the standard port. Here are somethings/links I have tried to mitigate the issue:
    - Completely uninstall and reinstall certbot




    • Reference my past ubuntu servers with SSL running on it


    • Certbot Renew


    • Adding .well-known


    • Running a2ensite & a2dissite in conjuction with systemctl reload apache2/service apache2 restart


    • Creating new SSL certs to the point I've request too many


    • Added Listen 443 in case there was a firewall in the ports.conf


    • https://community.letsencrypt.org/t/dns-a-aaaa-record-s-problem/42413


    • https://medium.com/@jevgenijdmitrijev/howto-configuring-server-for-hosting-single-laravel-web-ssl-with-lets-encrypt-f670710ef827


    • https://community.letsencrypt.org/t/permission-denied-to-etc-letsencrypt-live/72892


    • https://community.letsencrypt.org/t/solved-urn-acme-error-unauthorized-the-client-lacks-sufficient-authorization/53238


    • https://linuxhostsupport.com/blog/how-to-install-lets-encrypt-with-apache-on-ubuntu-16-04/


    • https://community.letsencrypt.org/t/this-site-can-t-be-reached/50751/6


    • Cannot get SSL working with Apache



    This literally makes no sense to me as I haven't had any trouble installing and configuring ssl certs on other ubuntu servers. I've been banging my head for hours trying to solve this so any guidance in the right direction will be greatly appreciated.









    share







    New contributor




    Solomon Antoine is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0








      I am trying to integrate SSL with my Laravel site http://enablerochester.com. I tried following the tutorial for setting up certbot on Ubuntu 18.04 here: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04 however after following each step https still doesn't work.



      Within my /etc/apache2/sites-enabled I have two files. 000-default.conf & default-ssl.conf.



      Here is what my 000-default.conf looks like:



      <VirtualHost *:80>
      # The ServerName directive sets the request scheme, hostname and port that
      # the server uses to identify itself. This is used when creating
      # redirection URLs. In the context of virtual hosts, the ServerName
      # specifies what hostname must appear in the request's Host: header to
      # match this virtual host. For the default virtual host (this file) this
      # value is not decisive as it is used as a last resort host regardless.
      # However, you must set it for any further virtual host explicitly.
      ServerName enablerochester.com

      #RewriteEngine On
      #RewriteCond %{HTTPS} !on
      #RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

      ServerAdmin antoinesolomon5@gmail.com
      DocumentRoot /var/www/html/production/public
      #DirectoryIndex index.php
      # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
      # error, crit, alert, emerg.
      # It is also possible to configure the loglevel for particular
      # modules, e.g.
      #LogLevel info ssl:warn

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

      # For most configuration files from conf-available/, which are
      # enabled or disabled at a global level, it is possible to
      # include a line for only one particular virtual host. For example the
      # following line enables the CGI configuration for this host only
      # after it has been globally disabled with "a2disconf".
      #Include conf-available/serve-cgi-bin.conf
      #RewriteEngine on
      #RewriteCond %{SERVER_NAME} =testing.enablerochester.com
      #RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
      </VirtualHost>

      # vim: syntax=apache ts=4 sw=4 sts=4 sr noet


      That is my basic http protocol which works perfectly. However when working with the default-ssl.conf I can't seem to figure out the issue:



      <IfModule mod_ssl.c>
      <VirtualHost _default_:443>
      ServerAdmin antoinesolomon5@gmail.com

      ServerName enablerochester.com
      DocumentRoot /var/www/html/production/public

      # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
      # error, crit, alert, emerg.
      # It is also possible to configure the loglevel for particular
      # modules, e.g.
      #LogLevel info ssl:warn

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

      # For most configuration files from conf-available/, which are
      # enabled or disabled at a global level, it is possible to
      # include a line for only one particular virtual host. For example the
      # following line enables the CGI configuration for this host only
      # after it has been globally disabled with "a2disconf".
      #Include conf-available/serve-cgi-bin.conf

      # SSL Engine Switch:
      # Enable/Disable SSL for this virtual host.
      SSLEngine on

      # A self-signed (snakeoil) certificate can be created by installing
      # the ssl-cert package. See
      # /usr/share/doc/apache2/README.Debian.gz for more info.
      # If both key and certificate are stored in the same file, only the
      # SSLCertificateFile directive is needed.

      # Server Certificate Chain:
      # Point SSLCertificateChainFile at a file containing the
      # concatenation of PEM encoded CA certificates which form the
      # certificate chain for the server certificate. Alternatively
      # the referenced file can be the same as SSLCertificateFile
      # when the CA certificates are directly appended to the server
      # certificate for convinience.
      #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

      # Certificate Authority (CA):
      # Set the CA certificate verification path where to find CA
      # certificates for client authentication or alternatively one
      # huge file containing all of them (file must be PEM encoded)
      # Note: Inside SSLCACertificatePath you need hash symlinks
      # to point to the certificate files. Use the provided
      # Makefile to update the hash symlinks after changes.
      #SSLCACertificatePath /etc/ssl/certs/
      #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt

      # Certificate Revocation Lists (CRL):
      # Set the CA revocation path where to find CA CRLs for client
      # authentication or alternatively one huge file containing all
      # of them (file must be PEM encoded)
      # Note: Inside SSLCARevocationPath you need hash symlinks
      # to point to the certificate files. Use the provided
      # Makefile to update the hash symlinks after changes.
      #SSLCARevocationPath /etc/apache2/ssl.crl/
      #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl

      # Client Authentication (Type):
      # Client certificate verification type and depth. Types are
      # none, optional, require and optional_no_ca. Depth is a
      # number which specifies how deeply to verify the certificate
      # issuer chain before deciding the certificate is not valid.
      #SSLVerifyClient require
      #SSLVerifyDepth 10

      # SSL Engine Options:
      # Set various options for the SSL engine.
      # o FakeBasicAuth:
      # Translate the client X.509 into a Basic Authorisation. This means that
      # the standard Auth/DBMAuth methods can be used for access control. The
      # user name is the `one line' version of the client's X.509 certificate.
      # Note that no password is obtained from the user. Every entry in the user
      # file needs this password: `xxj31ZMTZzkVA'.
      # o ExportCertData:
      # This exports two additional environment variables: SSL_CLIENT_CERT and
      # SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
      # server (always existing) and the client (only existing when client
      # authentication is used). This can be used to import the certificates
      # into CGI scripts.
      # o StdEnvVars:
      # This exports the standard SSL/TLS related `SSL_*' environment variables.
      # Per default this exportation is switched off for performance reasons,
      # because the extraction step is an expensive operation and is usually
      # useless for serving static content. So one usually enables the
      # exportation for CGI and SSI requests only.
      # o OptRenegotiate:
      # This enables optimized SSL connection renegotiation handling when SSL
      # directives are used in per-directory context.
      #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
      <FilesMatch ".(cgi|shtml|phtml|php)$">
      SSLOptions +StdEnvVars
      </FilesMatch>
      <Directory /usr/lib/cgi-bin>
      SSLOptions +StdEnvVars
      </Directory>

      # SSL Protocol Adjustments:
      # The safe and default but still SSL/TLS standard compliant shutdown
      # approach is that mod_ssl sends the close notify alert but doesn't wait for
      # the close notify alert from client. When you need a different shutdown
      # approach you can use one of the following variables:
      # o ssl-unclean-shutdown:
      # This forces an unclean shutdown when the connection is closed, i.e. no
      # SSL close notify alert is send or allowed to received. This violates
      # the SSL/TLS standard but is needed for some brain-dead browsers. Use
      # this when you receive I/O errors because of the standard approach where
      # mod_ssl sends the close notify alert.
      # o ssl-accurate-shutdown:
      # This forces an accurate shutdown when the connection is closed, i.e. a
      # SSL close notify alert is send and mod_ssl waits for the close notify
      # alert of the client. This is 100% SSL/TLS standard compliant, but in
      # practice often causes hanging connections with brain-dead browsers. Use
      # this only for browsers where you know that their SSL implementation
      # works correctly.
      # Notice: Most problems of broken clients are also related to the HTTP
      # keep-alive facility, so you usually additionally want to disable
      # keep-alive for those clients, too. Use variable "nokeepalive" for this.
      # Similarly, one has to force some clients to use HTTP/1.0 to workaround
      # their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
      # "force-response-1.0" for this.
      # BrowserMatch "MSIE [2-6]"
      # nokeepalive ssl-unclean-shutdown
      # downgrade-1.0 force-response-1.0
      SSLCertificateFile /etc/letsencrypt/live/enablerochester.com/fullchain.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/enablerochester.com/privkey.pem
      </VirtualHost>
      </IfModule>

      # vim: syntax=apache ts=4 sw=4 sts=4 sr noet


      When running apachectl -S this is what I get



      VirtualHost configuration:
      *:80 www.enablerochester.com (/etc/apache2/sites-enabled/000-default.conf:1)
      *:443 enablerochester.com (/etc/apache2/sites-enabled/default-ssl.conf:2)
      ServerRoot: "/etc/apache2"
      Main DocumentRoot: "/var/www/html"
      Main ErrorLog: "/var/log/apache2/error.log"
      Mutex mpm-accept: using_defaults
      Mutex watchdog-callback: using_defaults
      Mutex rewrite-map: using_defaults
      Mutex ssl-stapling-refresh: using_defaults
      Mutex ssl-stapling: using_defaults
      Mutex ssl-cache: using_defaults
      Mutex default: dir="/var/run/apache2/" mechanism=default
      PidFile: "/var/run/apache2/apache2.pid"
      Define: DUMP_VHOSTS
      Define: DUMP_RUN_CFG
      User: name="www-data" id=33 not_used
      Group: name="www-data" id=33 not_used


      As you can see the document root is the same in the ssl as it is in the standard port. Here are somethings/links I have tried to mitigate the issue:
      - Completely uninstall and reinstall certbot




      • Reference my past ubuntu servers with SSL running on it


      • Certbot Renew


      • Adding .well-known


      • Running a2ensite & a2dissite in conjuction with systemctl reload apache2/service apache2 restart


      • Creating new SSL certs to the point I've request too many


      • Added Listen 443 in case there was a firewall in the ports.conf


      • https://community.letsencrypt.org/t/dns-a-aaaa-record-s-problem/42413


      • https://medium.com/@jevgenijdmitrijev/howto-configuring-server-for-hosting-single-laravel-web-ssl-with-lets-encrypt-f670710ef827


      • https://community.letsencrypt.org/t/permission-denied-to-etc-letsencrypt-live/72892


      • https://community.letsencrypt.org/t/solved-urn-acme-error-unauthorized-the-client-lacks-sufficient-authorization/53238


      • https://linuxhostsupport.com/blog/how-to-install-lets-encrypt-with-apache-on-ubuntu-16-04/


      • https://community.letsencrypt.org/t/this-site-can-t-be-reached/50751/6


      • Cannot get SSL working with Apache



      This literally makes no sense to me as I haven't had any trouble installing and configuring ssl certs on other ubuntu servers. I've been banging my head for hours trying to solve this so any guidance in the right direction will be greatly appreciated.









      share







      New contributor




      Solomon Antoine is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I am trying to integrate SSL with my Laravel site http://enablerochester.com. I tried following the tutorial for setting up certbot on Ubuntu 18.04 here: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04 however after following each step https still doesn't work.



      Within my /etc/apache2/sites-enabled I have two files. 000-default.conf & default-ssl.conf.



      Here is what my 000-default.conf looks like:



      <VirtualHost *:80>
      # The ServerName directive sets the request scheme, hostname and port that
      # the server uses to identify itself. This is used when creating
      # redirection URLs. In the context of virtual hosts, the ServerName
      # specifies what hostname must appear in the request's Host: header to
      # match this virtual host. For the default virtual host (this file) this
      # value is not decisive as it is used as a last resort host regardless.
      # However, you must set it for any further virtual host explicitly.
      ServerName enablerochester.com

      #RewriteEngine On
      #RewriteCond %{HTTPS} !on
      #RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

      ServerAdmin antoinesolomon5@gmail.com
      DocumentRoot /var/www/html/production/public
      #DirectoryIndex index.php
      # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
      # error, crit, alert, emerg.
      # It is also possible to configure the loglevel for particular
      # modules, e.g.
      #LogLevel info ssl:warn

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

      # For most configuration files from conf-available/, which are
      # enabled or disabled at a global level, it is possible to
      # include a line for only one particular virtual host. For example the
      # following line enables the CGI configuration for this host only
      # after it has been globally disabled with "a2disconf".
      #Include conf-available/serve-cgi-bin.conf
      #RewriteEngine on
      #RewriteCond %{SERVER_NAME} =testing.enablerochester.com
      #RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
      </VirtualHost>

      # vim: syntax=apache ts=4 sw=4 sts=4 sr noet


      That is my basic http protocol which works perfectly. However when working with the default-ssl.conf I can't seem to figure out the issue:



      <IfModule mod_ssl.c>
      <VirtualHost _default_:443>
      ServerAdmin antoinesolomon5@gmail.com

      ServerName enablerochester.com
      DocumentRoot /var/www/html/production/public

      # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
      # error, crit, alert, emerg.
      # It is also possible to configure the loglevel for particular
      # modules, e.g.
      #LogLevel info ssl:warn

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

      # For most configuration files from conf-available/, which are
      # enabled or disabled at a global level, it is possible to
      # include a line for only one particular virtual host. For example the
      # following line enables the CGI configuration for this host only
      # after it has been globally disabled with "a2disconf".
      #Include conf-available/serve-cgi-bin.conf

      # SSL Engine Switch:
      # Enable/Disable SSL for this virtual host.
      SSLEngine on

      # A self-signed (snakeoil) certificate can be created by installing
      # the ssl-cert package. See
      # /usr/share/doc/apache2/README.Debian.gz for more info.
      # If both key and certificate are stored in the same file, only the
      # SSLCertificateFile directive is needed.

      # Server Certificate Chain:
      # Point SSLCertificateChainFile at a file containing the
      # concatenation of PEM encoded CA certificates which form the
      # certificate chain for the server certificate. Alternatively
      # the referenced file can be the same as SSLCertificateFile
      # when the CA certificates are directly appended to the server
      # certificate for convinience.
      #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

      # Certificate Authority (CA):
      # Set the CA certificate verification path where to find CA
      # certificates for client authentication or alternatively one
      # huge file containing all of them (file must be PEM encoded)
      # Note: Inside SSLCACertificatePath you need hash symlinks
      # to point to the certificate files. Use the provided
      # Makefile to update the hash symlinks after changes.
      #SSLCACertificatePath /etc/ssl/certs/
      #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt

      # Certificate Revocation Lists (CRL):
      # Set the CA revocation path where to find CA CRLs for client
      # authentication or alternatively one huge file containing all
      # of them (file must be PEM encoded)
      # Note: Inside SSLCARevocationPath you need hash symlinks
      # to point to the certificate files. Use the provided
      # Makefile to update the hash symlinks after changes.
      #SSLCARevocationPath /etc/apache2/ssl.crl/
      #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl

      # Client Authentication (Type):
      # Client certificate verification type and depth. Types are
      # none, optional, require and optional_no_ca. Depth is a
      # number which specifies how deeply to verify the certificate
      # issuer chain before deciding the certificate is not valid.
      #SSLVerifyClient require
      #SSLVerifyDepth 10

      # SSL Engine Options:
      # Set various options for the SSL engine.
      # o FakeBasicAuth:
      # Translate the client X.509 into a Basic Authorisation. This means that
      # the standard Auth/DBMAuth methods can be used for access control. The
      # user name is the `one line' version of the client's X.509 certificate.
      # Note that no password is obtained from the user. Every entry in the user
      # file needs this password: `xxj31ZMTZzkVA'.
      # o ExportCertData:
      # This exports two additional environment variables: SSL_CLIENT_CERT and
      # SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
      # server (always existing) and the client (only existing when client
      # authentication is used). This can be used to import the certificates
      # into CGI scripts.
      # o StdEnvVars:
      # This exports the standard SSL/TLS related `SSL_*' environment variables.
      # Per default this exportation is switched off for performance reasons,
      # because the extraction step is an expensive operation and is usually
      # useless for serving static content. So one usually enables the
      # exportation for CGI and SSI requests only.
      # o OptRenegotiate:
      # This enables optimized SSL connection renegotiation handling when SSL
      # directives are used in per-directory context.
      #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
      <FilesMatch ".(cgi|shtml|phtml|php)$">
      SSLOptions +StdEnvVars
      </FilesMatch>
      <Directory /usr/lib/cgi-bin>
      SSLOptions +StdEnvVars
      </Directory>

      # SSL Protocol Adjustments:
      # The safe and default but still SSL/TLS standard compliant shutdown
      # approach is that mod_ssl sends the close notify alert but doesn't wait for
      # the close notify alert from client. When you need a different shutdown
      # approach you can use one of the following variables:
      # o ssl-unclean-shutdown:
      # This forces an unclean shutdown when the connection is closed, i.e. no
      # SSL close notify alert is send or allowed to received. This violates
      # the SSL/TLS standard but is needed for some brain-dead browsers. Use
      # this when you receive I/O errors because of the standard approach where
      # mod_ssl sends the close notify alert.
      # o ssl-accurate-shutdown:
      # This forces an accurate shutdown when the connection is closed, i.e. a
      # SSL close notify alert is send and mod_ssl waits for the close notify
      # alert of the client. This is 100% SSL/TLS standard compliant, but in
      # practice often causes hanging connections with brain-dead browsers. Use
      # this only for browsers where you know that their SSL implementation
      # works correctly.
      # Notice: Most problems of broken clients are also related to the HTTP
      # keep-alive facility, so you usually additionally want to disable
      # keep-alive for those clients, too. Use variable "nokeepalive" for this.
      # Similarly, one has to force some clients to use HTTP/1.0 to workaround
      # their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
      # "force-response-1.0" for this.
      # BrowserMatch "MSIE [2-6]"
      # nokeepalive ssl-unclean-shutdown
      # downgrade-1.0 force-response-1.0
      SSLCertificateFile /etc/letsencrypt/live/enablerochester.com/fullchain.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/enablerochester.com/privkey.pem
      </VirtualHost>
      </IfModule>

      # vim: syntax=apache ts=4 sw=4 sts=4 sr noet


      When running apachectl -S this is what I get



      VirtualHost configuration:
      *:80 www.enablerochester.com (/etc/apache2/sites-enabled/000-default.conf:1)
      *:443 enablerochester.com (/etc/apache2/sites-enabled/default-ssl.conf:2)
      ServerRoot: "/etc/apache2"
      Main DocumentRoot: "/var/www/html"
      Main ErrorLog: "/var/log/apache2/error.log"
      Mutex mpm-accept: using_defaults
      Mutex watchdog-callback: using_defaults
      Mutex rewrite-map: using_defaults
      Mutex ssl-stapling-refresh: using_defaults
      Mutex ssl-stapling: using_defaults
      Mutex ssl-cache: using_defaults
      Mutex default: dir="/var/run/apache2/" mechanism=default
      PidFile: "/var/run/apache2/apache2.pid"
      Define: DUMP_VHOSTS
      Define: DUMP_RUN_CFG
      User: name="www-data" id=33 not_used
      Group: name="www-data" id=33 not_used


      As you can see the document root is the same in the ssl as it is in the standard port. Here are somethings/links I have tried to mitigate the issue:
      - Completely uninstall and reinstall certbot




      • Reference my past ubuntu servers with SSL running on it


      • Certbot Renew


      • Adding .well-known


      • Running a2ensite & a2dissite in conjuction with systemctl reload apache2/service apache2 restart


      • Creating new SSL certs to the point I've request too many


      • Added Listen 443 in case there was a firewall in the ports.conf


      • https://community.letsencrypt.org/t/dns-a-aaaa-record-s-problem/42413


      • https://medium.com/@jevgenijdmitrijev/howto-configuring-server-for-hosting-single-laravel-web-ssl-with-lets-encrypt-f670710ef827


      • https://community.letsencrypt.org/t/permission-denied-to-etc-letsencrypt-live/72892


      • https://community.letsencrypt.org/t/solved-urn-acme-error-unauthorized-the-client-lacks-sufficient-authorization/53238


      • https://linuxhostsupport.com/blog/how-to-install-lets-encrypt-with-apache-on-ubuntu-16-04/


      • https://community.letsencrypt.org/t/this-site-can-t-be-reached/50751/6


      • Cannot get SSL working with Apache



      This literally makes no sense to me as I haven't had any trouble installing and configuring ssl certs on other ubuntu servers. I've been banging my head for hours trying to solve this so any guidance in the right direction will be greatly appreciated.







      ubuntu ssl-certificate lets-encrypt ubuntu-18.04 certbot





      share







      New contributor




      Solomon Antoine is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      Solomon Antoine is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      Solomon Antoine is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 6 mins ago









      Solomon AntoineSolomon Antoine

      1




      1




      New contributor




      Solomon Antoine is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Solomon Antoine is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Solomon Antoine is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "2"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Solomon Antoine is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f958189%2fubuntu-certbot-ssl-not-working-18-04%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Solomon Antoine is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          Solomon Antoine is a new contributor. Be nice, and check out our Code of Conduct.













          Solomon Antoine is a new contributor. Be nice, and check out our Code of Conduct.












          Solomon Antoine is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Server Fault!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f958189%2fubuntu-certbot-ssl-not-working-18-04%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          As a Security Precaution, the user account has been locked The Next CEO of Stack OverflowMS...

          Список ссавців Італії Природоохоронні статуси | Список |...

          Українські прізвища Зміст Історичні відомості |...