Guest User

Untitled

a guest
Mar 24th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. worker_processes 1;
  2.  
  3. events { worker_connections 1024; }
  4.  
  5. http {
  6.  
  7. sendfile on;
  8.  
  9. server {
  10. deny all;
  11. }
  12.  
  13. upstream myhomepage {
  14. server myhomepage_blog:80;
  15. }
  16.  
  17. upstream docker-apache {
  18. server apache:80;
  19. }
  20.  
  21. server {
  22. listen 80;
  23. listen [::]:80;
  24.  
  25. server_name www.myhomepage.com myhomepage.com;
  26. return 302 https://$server_name$request_uri;
  27. }
  28.  
  29.  
  30. server {
  31. listen 443 ssl;
  32. listen [::]:443;
  33.  
  34. server_name www.myhomepage.com myhomepage.com;
  35.  
  36. ssl_certificate /etc/letsencrypt/live/myhomepage.com/fullchain.pem;
  37. ssl_certificate_key /etc/letsencrypt/live/myhomepage.com/privkey.pem;
  38.  
  39. location /.well-known {
  40. root /var/www/ssl-proof/myhomepage.com/;
  41. }
  42.  
  43.  
  44. location / {
  45. proxy_set_header Host $host;
  46. proxy_set_header X-Forwarded-Proto $scheme;
  47. proxy_set_header X-Forwarded-Port $server_port;
  48. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  49. proxy_pass http://myhomepage;
  50. proxy_http_version 1.1;
  51. proxy_set_header Upgrade $http_upgrade;
  52. proxy_set_header Connection "upgrade";
  53. proxy_read_timeout 900s;
  54. }
  55. }
  56.  
  57. server {
  58. listen 80;
  59. server_name www.myotherhomepagewithoutssl.com myotherhomepagewithoutssl.com;
  60.  
  61. location / {
  62. proxy_pass http://docker-apache;
  63. proxy_redirect off;
  64. proxy_set_header Host $host;
  65. proxy_set_header X-Real-IP $remote_addr;
  66. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  67. proxy_set_header X-Forwarded-Host $server_name;
  68. }
  69. }
  70.  
  71. }
  72.  
  73. FROM nginx:alpine
  74.  
  75. COPY nginx.conf /etc/nginx/nginx.conf
  76. RUN mkdir -p /var/www/ssl-proof/myhomepage.com/.well-known
  77.  
  78. RUN apk update && apk add certbot
  79.  
  80. version: '3.3'
  81.  
  82. services:
  83. reverseproxy:
  84. image: reverseproxy
  85. ports:
  86. - 80:80
  87. restart: always
  88. volumes:
  89. - proxy_letsencrypt_ssl_proof:/var/www/ssl-proof
  90. - proxy_letsencrypte_certificates:/etc/letsencrypt
  91.  
  92. apache:
  93. depends_on:
  94. - reverseproxy
  95. image: httpd:alpine
  96. restart: always
  97.  
  98. myhomepage_blog:
  99. image: wordpress
  100. links:
  101. - myhomepage_db:mysql
  102. environment:
  103. - WORDPRESS_DB_PASSWORD=somepassword
  104. - VIRTUAL_HOST=myhomepage.com
  105. volumes:
  106. - myhomepage_code:/code
  107. - myhomepage_html:/var/www/html
  108. restart: always
  109.  
  110. myhomepage_db:
  111. image: mariadb
  112. environment:
  113. - MYSQL_ROOT_PASSWORD=somepassword
  114. - MYSQL_DATABASE=wordpress
  115. volumes:
  116. - myhomepage_dbdata:/var/lib/mysql
  117. restart: always
  118.  
  119. volumes:
  120. myhomepage_dbdata:
  121. myhomepage_code:
  122. myhomepage_html:
  123. proxy_letsencrypt_ssl_proof:
  124. proxy_letsencrypte_certificates:
  125.  
  126. #!/bin/bash
  127. docker rm testreverseproxy_apache_1 testreverseproxy_myhomepage_blog_1 testreverseproxy_myhomepage_db_1 testreverseproxy_reverseproxy_1
  128. docker build -t reverseproxy -f reverse_proxy.docker .
  129. docker-compose -f reverse_proxy_compose.yml up
Add Comment
Please, Sign In to add comment