Posted On April 1, 2019

Default Nginx Installation on Centos 7

kimconnect 0 comments
blog.KimConnect.com >> Codes , Linux >> Default Nginx Installation on Centos 7
NGINX as HTTP / HTTPS Proxy

sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
sudo systemctl enable nginx

discover interfaces:
ip addr

Find public IP for interface ens160
ip addr show ens160 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Notes:
Default server root is /usr/share/nginx/html
Default server blocks file is /etc/nginx/init.d/ /etc/nginx/conf.d/default.conf
Default global configuration: /etc/nginx/nginx.conf
To add new server block, create a file with .conf extension inside: /etc/nginx/conf.d/
To redirect, insert a statement using one of these techniques:
--------------------------- rewrite commands in HTTP server blocks --------------------
rewrite ^/support /(.*) break;
rewrite ^/(.*)$ redirect;
---------------------------
server {
listen 80;
server_name support.kimconnect.com;
return 301 $scheme://192.168.100.20$request_uri;
}
---------------------------

server {
listen 443;
server_name help.kimconnect.com;
ssl on;
ssl_certificate /etc/nginx/tls/help.crt;
ssl_certificate_key /etc/nginx/tls/help.key;
keepalive_timeout 70;
location / {
rewrite ^ relay://help.kimconnect.com:443/ permanent;
proxy_set_header Host $host;
}
}

To save a read-only file in VIM: :w !sudo tee % > /dev/null

How to setup reverse proxy for other servers
Source: https://stackoverflow.com/questions/13240840/nginx-reverse-proxy-multiple-backends

server {
server_name support.kimconnect.com;
# app1 reverse proxy follow
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass $scheme://192.168.100.20$request_uri;
}


server {
server_name kim.kimconnect.com;
# app2 reverse proxy settings follow
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass $scheme://192.168.100.20$request_uri;
}


server {
listen 80;
server_name <FQDN>;
rewrite ^ https://<FQDN> permanent;
}


server {
listen 443;
server_name <FQDN>;
ssl on;
ssl_certificate <CERTIFICATE FILE>;
ssl_certificate_key <CERTIFICATE KEY FILE>;
keepalive_timeout 70;
root <EMPTY DIRECTORY>
location / {
proxy_pass http://localhost:8040/;
proxy_redirect default;
}
}


-----------------------------------
server {
listen 443;
server_name help.kimconnect.com;
ssl on;
ssl_certificate /etc/nginx/tls/help.crt;
ssl_certificate_key /etc/nginx/tls/help.key;
location / {
proxy_pass $scheme://192.168.100.20$request_uri;
proxy_set_header Host $host;
}
}

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

How to Install Chromium or Chrome on Debian-based Linux

Open Source Chromium Q: What's the difference between Chrome and Chromium? A: Chrome is enhanced…

Hyper-V: Creating a New Virtual Machine

# Compulsory variables $hyperVHost='HYPERV007' $vmName='WindowsGoldenImage' $parentDirectory='C:\ClusterStorage\Volume5' $disk1Size='100GB' $memoryAllocation='8GB' $networkSwitch='PublicZone' $vlan='1005' $clusterName='DEV-CLUSTER05' # Optional variables $disk2Size=$false…

Basic CSS: Use an id Attribute to Style an Element

<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css"><style>.red-text {color: red;}h2 {font-family: Lobster, monospace;}p {font-size: 16px;font-family: monospace;}.thick-green-border {border-color: green;border-width: 10px;border-style:…