Virtual Host And Certbot in RHEL7
Apache
httpd.conf
vim /etc/httpd/conf/httpd.conf
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. [email protected]
#
ServerAdmin [email protected]
# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
IncludeOptional /ihe/etc/httpd/conf.sites.d/*.conf
ServerName 100.43.10.200
Directory Tree
# mkdir -p /etc/httpd/conf.sites.d/
# mkdir -p /var/www/
# create folder inside /ihe mount point
mkdir -p /ihe/etc/httpd/conf.sites.d/
mkdir -p /ihe/var/www
|
cd /ihe/var/www/;\
p='api cdn dev hl7';\
for s in $p;\
do d='html docs soft';for f in $d;\
do mkdir -p "$s.medisys.com.my/$f";\
done;
done
|
cd /ihe/var/www/;\
p='api cdn dev hl7';\
for s in $p;\
do d='html docs soft';for f in $d;\
do mkdir -p "$s.rufaida.com.my/$f";\
done;
done
|
;vim /ihe/var/www/api.medisys.com.my/html/.htaccess
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{SERVER_NAME} =api.medisys.com.my [OR]
RewriteCond %{SERVER_NAME} =www.api.medisys.com.my
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
f='html docs soft';\
for s in *.medisys.com.my;do for d in $f;do \
h="<html>\n<head><title>$s/$d</title></head>\n";
h="$h<body><h1>Welcome to, $s/$d</h1></body>\n</html>";
echo -e "$h" >> "$s/$d/index.html";
done;done
|
f='html docs soft';\
for s in *.rufaida.com.my;do for d in $f;do \
h="<html>\n<head><title>$s/$d</title></head>\n";
h="$h<body><h1>Welcome to, $s/$d</h1></body>\n</html>";
echo -e "$h" >> "$s/$d/index.html";
done;done
yum -y install httpd mod_ssl
cd /opt/;git clone https://github.com/certbot/certbot.git
cd /usr/local/bin/;ln -s /opt/certbot/certbot-auto certbot
ln -s /opt/certbot/letsencrypt-auto letsencrypt
letsencrypt #letsencrypt renew
certbot #certbot renew
|
HTTP
api.medisys.com.my.conf
vim /etc/httpd/conf.sites.d/01-api.medisys.com.my.conf
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAlias api.medisys.com.my
ServerAdmin [email protected]
ServerName www.api.medisys.com.my
DocumentRoot /ihe/var/www/api.medisys.com.my/html
ErrorLog /ihe/var/www/api.medisys.com.my/error.log
CustomLog /ihe/var/www/api.medisys.com.my/requests.log combined
<Directory "/ihe/var/www/api.medisys.com.my/">
AllowOverride None
Require all granted
</Directory>
<Directory "/ihe/var/www/api.medisys.com.my/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
# proxy for forms
<Location /forms>
Order Allow,Deny
Allow from all
ProxyPass http://175.144.214.83:9001/forms nocanon
ProxyPassReverse http://175.144.214.83:9001/forms
</Location>
#RewriteEngine on
#RewriteCond %{SERVER_NAME} =api.medisys.com.my [OR]
#RewriteCond %{SERVER_NAME} =www.api.medisys.com.my
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
cdn.medisys.com.my.conf
vim /etc/httpd/conf.sites.d/00-cdn.rufaida.com.my.conf
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAlias cdn.medisys.com.my
ServerAdmin [email protected]
ServerName www.cdn.medisys.com.my
DocumentRoot /ihe/var/www/cdn.medisys.com.my/html
ErrorLog /ihe/var/www/cdn.medisys.com.my/error.log
CustomLog /ihe/var/www/cdn.medisys.com.my/requests.log combined
<Directory "/ihe/var/www/cdn.medisys.com.my/">
AllowOverride None
Require all granted
</Directory>
<Directory "/ihe/var/www/cdn.medisys.com.my/html">
Options Indexes FollowSymLinks
AllowOverride ALL
Require all granted
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} =175.144.214.82 [OR]
RewriteCond %{HTTP_HOST} =100.43.10.200
RewriteRule ^ https://cdn.medisys.com.my%{REQUEST_URI} [END,NE,R=permanent]
#RewriteCond %{SERVER_NAME} =cdn.medisys.com.my [OR]
#RewriteCond %{SERVER_NAME} =www.cdn.medisys.com.my
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
dev.medisys.com.my.conf
vim /etc/httpd/conf.sites.d/00-dev.rufaida.com.my.conf
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAlias dev.medisys.com.my
ServerAdmin [email protected]
ServerName www.dev.medisys.com.my
DocumentRoot /ihe/var/www/dev.medisys.com.my/html
ErrorLog /ihe/var/www/dev.medisys.com.my/error.log
CustomLog /ihe/var/www/dev.medisys.com.my/requests.log combined
<Directory "/ihe/var/www/dev.medisys.com.my/">
AllowOverride None
Require all granted
</Directory>
<Directory "/ihe/var/www/dev.medisys.com.my/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
#RewriteEngine on
#RewriteCond %{SERVER_NAME} =dev.medisys.com.my [OR]
#RewriteCond %{SERVER_NAME} =www.dev.medisys.com.my
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
hl7.medisys.com.my.conf
vim /etc/httpd/conf.sites.d/00-hl7.rufaida.com.my.conf
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAlias hl7.medisys.com.my
ServerAdmin [email protected]
ServerName www.hl7.medisys.com.my
DocumentRoot /ihe/var/www/hl7.medisys.com.my/html
ErrorLog /ihe/var/www/hl7.medisys.com.my/error.log
CustomLog /ihe/var/www/hl7.medisys.com.my/requests.log combined
<Directory "/ihe/var/www/hl7.medisys.com.my/">
AllowOverride None
Require all granted
</Directory>
<Directory "/ihe/var/www/hl7.medisys.com.my/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
#RewriteEngine on
#RewriteCond %{SERVER_NAME} =www.hl7.medisys.com.my [OR]
#RewriteCond %{SERVER_NAME} =hl7.medisys.com.my
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
api.rufaida.com.my.conf
vim /etc/httpd/conf.sites.d/01-api.rufaida.com.my.conf
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAlias api.rufaida.com.my
ServerAdmin [email protected]
ServerName www.api.rufaia.com.my
DocumentRoot /ihe/var/www/api.rufaida.com.my/html
ErrorLog /ihe/var/www/api.rufaida.com.my/error.log
CustomLog /ihe/var/www/api.rufaida.com.my/requests.log combined
<Directory "/ihe/var/www/api.rufaida.com.my/">
AllowOverride None
Require all granted
</Directory>
<Directory "/ihe/var/www/api.rufaida.com.my/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
# proxy for forms
<Location /forms>
Order Allow,Deny
Allow from all
ProxyPass http://202.40.189.18:9001/forms nocanon
ProxyPassReverse http://202.40.189.18:9001/forms
</Location>
#RewriteEngine on
#RewriteCond %{SERVER_NAME} =www.api.rufaia.com.my [OR]
#RewriteCond %{SERVER_NAME} =api.rufaida.com.my
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
HTTPS
api.medisys.com.my-le-ssl.conf
vim /etc/httpd/conf.sites.d/01-api.medisys.com.my-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAlias api.medisys.com.my
ServerAdmin [email protected]
ServerName www.api.medisys.com.my
DocumentRoot /ihe/var/www/api.medisys.com.my/html
ErrorLog /ihe/var/www/api.medisys.com.my/error.log
CustomLog /ihe/var/www/api.medisys.com.my/requests.log combined
<Directory "/ihe/var/www/api.medisys.com.my/">
AllowOverride None
Require all granted
</Directory>
<Directory "/ihe/var/www/api.medisys.com.my/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
Alias /docs "/ihe/var/www/api.medisys.com.my/docs/"
<Directory "/ihe/var/www/api.medisys.com.my/docs">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
Alias /soft "/ihe/var/www/api.medisys.com.my/soft/"
<Directory "/ihe/var/www/api.medisys.com.my/soft">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order Deny,Allow
Deny from all
Allow from ::1
Allow from 202.187
Allow from 127.0.0.1
Allow from localhost
Allow from 100.43.0
Allow from 192.168.1
Allow from 100.43.10
Allow from 202.40.189
Allow from 175.144.214
Allow from 180.234.6.104
</Directory>
# proxy for social
<Location /social>
Order Allow,Deny
Allow from all
ProxyPass http://202.40.189.20/social nocanon
ProxyPassReverse http://202.40.189.20/social
</Location>
# proxy for reports
<Location /reports>
Order Allow,Deny
Allow from all
ProxyPass http://175.144.214.83:9002/reports nocanon
ProxyPassReverse http://175.144.214.83:9002/reports
</Location>
# proxy for patient/affairs
<Location /patient/affairs>
Order Allow,Deny
Allow from all
ProxyPass http://202.40.189.20:9090/patient/affairs nocanon
ProxyPassReverse http://202.40.189.20:9090/patient/affairs
</Location>
# proxy for dev/patient/affairs
<Location /dev/patient/affairs>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:9090/dev/patient/affairs nocanon
ProxyPassReverse http://localhost:9090/dev/patient/affairs
</Location>
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/api.medisys.com.my/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/api.medisys.com.my/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/api.medisys.com.my/chain.pem
</VirtualHost>
</IfModule>
cdn.medisys.com.my-le-ssl.conf
vim /etc/httpd/conf.sites.d/00-cdn.medisys.com.my-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAlias cdn.medisys.com.my
ServerAdmin [email protected]
ServerName www.cdn.medisys.com.my
DocumentRoot /ihe/var/www/cdn.medisys.com.my/html
ErrorLog /ihe/var/www/cdn.medisys.com.my/error.log
CustomLog /ihe/var/www/cdn.medisys.com.my/requests.log combined
<Directory "/ihe/var/www/cdn.medisys.com.my/">
AllowOverride None
Require all granted
</Directory>
<Directory "/ihe/var/www/cdn.medisys.com.my/html">
Options Indexes FollowSymLinks
AllowOverride ALL
Require all granted
Order Allow,Deny
Allow from all
</Directory>
Alias /docs "/ihe/var/www/cdn.medisys.com.my/docs/"
<Directory "/ihe/var/www/cdn.medisys.com.my/docs">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order Allow,Deny
Allow from all
</Directory>
Alias /soft "/ihe/var/www/cdn.medisys.com.my/soft/"
<Directory "/ihe/var/www/cdn.medisys.com.my/soft">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order Deny,Allow
Deny from all
Allow from ::1
Allow from 202.187
Allow from 127.0.0.1
Allow from localhost
Allow from 100.43.0
Allow from 192.168.1
Allow from 100.43.10
Allow from 202.40.189
Allow from 175.144.214
Allow from 180.234.6.104
</Directory>
# proxy for i
<Location /i>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:8090/i nocanon
ProxyPassReverse http://localhost:8090/i
</Location>
# proxy for jira
<Location /jira>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:9010/jira nocanon
ProxyPassReverse http://localhost:9010/jira
</Location>
# proxy for
<Location /apex>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:8090/apex nocanon
ProxyPassReverse http://localhost:8090/apex
</Location>
# proxy for
<Location /console>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:9990/console nocanon
ProxyPassReverse http://localhost:9990/console
</Location>
# proxy for jenkins
<Location /jenkins>
Order Deny,Allow
Deny from all
Allow from ::1
Allow from 61.6
Allow from 127.0.0.1
Allow from localhost
Allow from 100.43.0
Allow from 192.168.1
Allow from 100.43.10
Allow from 202.40.189
Allow from 175.144.214
ProxyPass http://localhost:8088/jenkins nocanon
ProxyPassReverse http://localhost:8088/jenkins
</Location>
# proxy for bitbucket
<Location /bitbucket>
Order Deny,Allow
Deny from all
Allow from ::1
Allow from 61.6
Allow from 127.0.0.1
Allow from localhost
Allow from 100.43.0
Allow from 192.168.1
Allow from 100.43.10
Allow from 202.40.189
Allow from 175.144.214
ProxyPass http://localhost:9020/bitbucket nocanon
ProxyPassReverse http://localhost:9020/bitbucket
</Location>
# proxy for management
<Location /management>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:9990/management nocanon
ProxyPassReverse http://localhost:9990/management
</Location>
# proxy for artifactory
<Location /artifactory>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:9040/artifactory nocanon
ProxyPassReverse http://localhost:9040/artifactory
</Location>
# proxy for phpldapadmin
<Location /phpldapadmin>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:9030/phpldapadmin nocanon
ProxyPassReverse http://localhost:9030/phpldapadmin
</Location>
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/cdn.medisys.com.my/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cdn.medisys.com.my/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/cdn.medisys.com.my/chain.pem
</VirtualHost>
</IfModule>
dev.medisys.com.my-le-ssl.conf
vim /etc/httpd/conf.sites.d/00-dev.medisys.com.my-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAlias dev.medisys.com.my
ServerAdmin [email protected]
ServerName www.dev.medisys.com.my
DocumentRoot /ihe/var/www/dev.medisys.com.my/html
ErrorLog /ihe/var/www/dev.medisys.com.my/error.log
CustomLog /ihe/var/www/dev.medisys.com.my/requests.log combined
<Directory "/ihe/var/www/dev.medisys.com.my/">
AllowOverride None
Require all granted
</Directory>
<Directory "/ihe/var/www/dev.medisys.com.my/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
Alias /docs "/ihe/var/www/dev.medisys.com.my/docs/"
<Directory "/ihe/var/www/dev.medisys.com.my/docs">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
Alias /soft "/ihe/var/www/dev.medisys.com.my/soft/"
<Directory "/ihe/var/www/dev.medisys.com.my/soft">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order Deny,Allow
Deny from all
Allow from ::1
Allow from 202.187
Allow from 127.0.0.1
Allow from localhost
Allow from 100.43.0
Allow from 192.168.1
Allow from 100.43.10
Allow from 202.40.189
Allow from 175.144.214
Allow from 180.234.6.104
</Directory>
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/dev.medisys.com.my/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dev.medisys.com.my/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/dev.medisys.com.my/chain.pem
</VirtualHost>
</IfModule>
hl7.medisys.com.my-le-ssl.conf
vim /etc/httpd/conf.sites.d/00-hl7.medisys.com.my-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAlias hl7.medisys.com.my
ServerAdmin [email protected]
ServerName www.hl7.medisys.com.my
DocumentRoot /ihe/var/www/hl7.medisys.com.my/html
ErrorLog /ihe/var/www/hl7.medisys.com.my/error.log
CustomLog /ihe/var/www/hl7.medisys.com.my/requests.log combined
<Directory "/ihe/var/www/hl7.medisys.com.my/">
AllowOverride None
Require all granted
</Directory>
<Directory "/ihe/var/www/hl7.medisys.com.my/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
Alias /docs "/ihe/var/www/hl7.medisys.com.my/docs/"
<Directory "/ihe/var/www/hl7.medisys.com.my/docs">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
Alias /soft "/ihe/var/www/hl7.medisys.com.my/soft/"
<Directory "/ihe/var/www/hl7.medisys.com.my/soft">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order Deny,Allow
Deny from all
Allow from ::1
Allow from 202.187
Allow from 127.0.0.1
Allow from localhost
Allow from 100.43.0
Allow from 192.168.1
Allow from 100.43.10
Allow from 202.40.189
Allow from 175.144.214
Allow from 180.234.6.104
</Directory>
# proxy for amqp
<Location /amqp>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:8010/amqp nocanon
ProxyPassReverse http://localhost:8010/amqp
</Location>
# proxy for boot
<Location /boot>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:8080/boot nocanon
ProxyPassReverse http://localhost:8080/boot
</Location>
# proxy for fhir
<Location /fhir>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:8018/fhir nocanon
ProxyPassReverse http://localhost:8018/fhir
</Location>
# proxy for itis
<Location /itis>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:8014/itis nocanon
ProxyPassReverse http://localhost:8014/itis
</Location>
# proxy for labs
<Location /labs>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:8013/labs nocanon
ProxyPassReverse http://localhost:8013/labs
</Location>
# proxy for xlab
<Location /xlab>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:8016/xlab nocanon
ProxyPassReverse http://localhost:8016/xlab
</Location>
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/hl7.medisys.com.my/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hl7.medisys.com.my/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/hl7.medisys.com.my/chain.pem
</VirtualHost>
</IfModule>
api.rufaida.com.my-le-ssl.conf
vim /etc/httpd/conf.sites.d/01-api.rufaida.com.my-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAlias api.rufaida.com.my
ServerAdmin [email protected]
ServerName www.api.rufaia.com.my
DocumentRoot /ihe/var/www/api.rufaida.com.my/html
ErrorLog /ihe/var/www/api.rufaida.com.my/error.log
CustomLog /ihe/var/www/api.rufaida.com.my/requests.log combined
<Directory "/ihe/var/www/api.rufaida.com.my/">
AllowOverride None
Require all granted
</Directory>
<Directory "/ihe/var/www/api.rufaida.com.my/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
Alias /docs "/ihe/var/www/api.rufaida.com.my/docs/"
<Directory "/ihe/var/www/api.rufaida.com.my/docs">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
Alias /soft "/ihe/var/www/api.rufaida.com.my/soft/"
<Directory "/ihe/var/www/api.rufaida.com.my/soft">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order Deny,Allow
Deny from all
Allow from ::1
Allow from 202.187
Allow from 127.0.0.1
Allow from localhost
Allow from 100.43.0
Allow from 192.168.1
Allow from 100.43.10
Allow from 202.40.189
Allow from 175.144.214
Allow from 180.234.6.104
</Directory>
# proxy for social
<Location /social>
Order Allow,Deny
Allow from all
ProxyPass http://202.40.189.20/social nocanon
ProxyPassReverse http://202.40.189.20/social
</Location>
# proxy for reports
<Location /reports>
Order Allow,Deny
Allow from all
ProxyPass http://202.40.189.18:9001/reports nocanon
ProxyPassReverse http://202.40.189.18:9001/reports
</Location>
# proxy for patient/affairs
<Location /patient/affairs>
Order Allow,Deny
Allow from all
ProxyPass http://202.40.189.20:9090/patient/affairs nocanon
ProxyPassReverse http://202.40.189.20:9090/patient/affairs
</Location>
# proxy for dev/patient/affairs
<Location /dev/patient/affairs>
Order Allow,Deny
Allow from all
ProxyPass http://localhost:9090/dev/patient/affairs nocanon
ProxyPassReverse http://localhost:9090/dev/patient/affairs
</Location>
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/api.rufaida.com.my/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/api.rufaida.com.my/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/api.rufaida.com.my/chain.pem
</VirtualHost>
</IfModule>